您現在的位置是:首頁 » scratch編程資訊
資訊內容
用Scratch做一個3D引擎
極客小將2021-01-07-
4.????旋轉
物體旋轉涉及到三角函數的知識。推導過程需要一定的篇幅。我們只需要記住簡單的結論來應用就可以了。
旋轉可以分為三種:沿x軸的旋轉、沿y軸的旋轉和沿z軸的旋轉。
4.????旋轉
物體旋轉涉及到三角函數的知識。推導過程需要一定的篇幅。我們只需要記住簡單的結論來應用就可以了。
旋轉可以分為三種:沿x軸的旋轉、沿y軸的旋轉和沿z軸的旋轉。
-? ? ? 沿x軸旋轉時,物體的x坐標不變,y坐標和z坐標的變換規律是(A為旋轉角度):
????????新的y坐標 = y * cos A + z * sin A
????????新的z坐標 = z * cos A – y * sin A
-? ? ? 沿y軸旋轉時,物體的y坐標不變,x坐標和z坐標的變換規律是(A為旋轉角度):
????????新的x坐標 = x * cos A – z * sin A
????????新的z坐標 = x * sin A + z * sin A
-? ? ? 沿z軸旋轉時,物體的z坐標不變,x坐標和y坐標的變換規律是(A為旋轉角度):
????????新的x坐標 = x * cos A – y * sin A
????????新的y坐標 = x * sin A + y * cos A
下圖顯示了沿z軸旋轉時的變換情況。有興趣的同學可以自己推導出坐標的變換規律。
注意上面說的坐標變化都是物體原3D坐標的變化,而不是投射在2D平面上的投射坐標的變化。換言之,旋轉改變物體坐標后,還要重新計算投射坐標。
旋轉的實現方法:
效果如下:
聲明:本文章由網友投稿作為教育分享用途,如有侵權原作者可通過郵件及時和我們聯系刪除
