當前位置:首頁 » 操作系統 » 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 )進行坐標轉換。

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

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

熱點內容
用近似歸演算法 發布:2025-01-21 00:51:56 瀏覽:517
php顯示資料庫中圖片 發布:2025-01-21 00:44:34 瀏覽:145
如何在伺服器中找文件 發布:2025-01-21 00:38:50 瀏覽:910
Cmdpython命令 發布:2025-01-21 00:30:38 瀏覽:758
mac常用解壓 發布:2025-01-21 00:01:47 瀏覽:691
linuxcpu使用 發布:2025-01-21 00:00:59 瀏覽:849
成套供應配電櫃有哪些配置 發布:2025-01-21 00:00:52 瀏覽:120
GO編譯器PDF 發布:2025-01-21 00:00:52 瀏覽:704
osu上傳成績 發布:2025-01-20 23:59:57 瀏覽:641
了解sql 發布:2025-01-20 23:58:39 瀏覽:656