資訊內(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坐標(biāo)不變,y坐標(biāo)和z坐標(biāo)的變換規(guī)律是(A為旋轉(zhuǎn)角度):
????????新的y坐標(biāo) = y * cos A + z * sin A
????????新的z坐標(biāo) = z * cos A – y * sin A
-? ? ? 沿y軸旋轉(zhuǎn)時,物體的y坐標(biāo)不變,x坐標(biāo)和z坐標(biāo)的變換規(guī)律是(A為旋轉(zhuǎn)角度):
????????新的x坐標(biāo) = x * cos A – z * sin A
????????新的z坐標(biāo) = x * sin A + z * sin A
-? ? ? 沿z軸旋轉(zhuǎn)時,物體的z坐標(biāo)不變,x坐標(biāo)和y坐標(biāo)的變換規(guī)律是(A為旋轉(zhuǎn)角度):
????????新的x坐標(biāo) = x * cos A – y * sin A
????????新的y坐標(biāo) = x * sin A + y * cos A
下圖顯示了沿z軸旋轉(zhuǎn)時的變換情況。有興趣的同學(xué)可以自己推導(dǎo)出坐標(biāo)的變換規(guī)律。
注意上面說的坐標(biāo)變化都是物體原3D坐標(biāo)的變化,而不是投射在2D平面上的投射坐標(biāo)的變化。換言之,旋轉(zhuǎn)改變物體坐標(biāo)后,還要重新計(jì)算投射坐標(biāo)。
旋轉(zhuǎn)的實(shí)現(xiàn)方法:
效果如下:
聲明:本文章由網(wǎng)友投稿作為教育分享用途,如有侵權(quán)原作者可通過郵件及時和我們聯(lián)系刪除
