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