當前位置:首頁 » 操作系統 » 3d微信簽到源碼

3d微信簽到源碼

發布時間: 2023-12-24 14:00:43

『壹』 Three.js源碼解讀一:Object3D

可能很多同學會發現,學習Three.js的API非常容易,但是真正理解API的作用卻非常難。其實讓大家感到難的並不是Three.js本身,而是Three.js背後所隱藏的3D圖形學知識。本系列Three.js源碼解讀文章,會幫你一邊補齊3D圖形學的基礎知識,一邊真正理解到Three.js的實現原理,知其然,知其所以然。

Object3D是ThreeJS中大部分物體的基類,它包含了物體的位移,旋轉,縮放,以及各個物體父子關系的js實現。選取Object3D幾個重要的屬性做解釋:

一個3D對象往往由多個父子對象組成,父對象的位移, 旋轉, 縮放會傳遞給所有的子對象。
this.parent指向父對象,this.children包含了所有的子對象。

通過 add 為物體添加子對象。需要注意的是,如果該子對象有其他的父對象,會先解除子對象和舊的父對象的父子關系,然後將子對象添加到新的父對象中。

this.matrix表示物體自身的本地形變,this.matrixWorld表示物體的全局形變。當物體沒有父對象時,全局形變就是本地形變。

為什麼對象組合這么重要呢?看下面的例子:

這兩個立方體共同組成了一個3D對象,下面的立方體為禪祥段底座,上面的立方體為操作臂。當底座轉動的時候,操作臂會同樣轉動,所以操作臂的形變會傳遞給底座。當操作宴御臂旋轉時,底座不會被影響。
這里,底座就是操作臂的父對象。只要簡單的將底座的全局形變(this.parent.matrixWorld)和操作臂的本地形變賀譽(this.matrix)相乘,就能得到操作臂的最終形變。是不是很方便?

3D物體的位移,旋轉,縮放都可以通過矩陣表示。其中,旋轉除了通過矩陣,還可以通過歐拉角和四元數表示。

Object3D的rotation代表物體旋轉的歐拉角表示,quaternion代表了四元數表示,他們是3D物體統一旋轉的不同數學表達方式。(矩陣,歐拉角,四元數表示旋轉

onRotationChange , onQuaternionChange 這兩個回調用於同步歐拉角和四元數,保證他們代表著相同的旋轉角度。

3D交互一個很大一部分工作量是需要在物體的本地空間( this.matrix )和世界空間( this.matrixWorld )進行坐標轉換。

『貳』 微信公眾平台二維碼簽到的原理是什麼有代碼可以熟悉一下嗎

公眾平台二維碼簽到原理有兩種形式,一種是會議之前先報名,另一種就是直接到會議現場掃描二維碼簽到。

熱點內容
我的世界伺服器如何裝資源包 發布:2024-11-29 13:25:48 瀏覽:18
mc伺服器的ip是什麼 發布:2024-11-29 13:23:33 瀏覽:566
python的request模塊 發布:2024-11-29 13:20:56 瀏覽:658
android編譯環境搭建 發布:2024-11-29 13:04:46 瀏覽:893
電腦怎麼登遠程伺服器 發布:2024-11-29 12:32:20 瀏覽:125
先來先服務進程調度演算法 發布:2024-11-29 12:30:12 瀏覽:629
mysql存儲過程循環表中的數據 發布:2024-11-29 12:04:02 瀏覽:600
相機存儲器一般是什麼 發布:2024-11-29 11:59:51 瀏覽:295
傳奇伺服器源碼 發布:2024-11-29 11:43:15 瀏覽:820
新手機如何登錄微信密碼忘記了 發布:2024-11-29 11:34:34 瀏覽:544