我試圖渲染一個簡單的軸顯示如下,除了使用簡單的2D線。如何渲染俯仰,滾動和偏航的3D軸?
我對俯仰,偏轉和滾動該軸應顯示的角度值。 (例如PI/2,PI/4,PI * 3/2)
我有一個函數可以在2D空間中給出起始點和結束點的2D線。
給定角度,我該如何正確渲染一組旋轉的軸?我不關心z-索引(所以如果有時候這些行不正確地顯示在彼此之上,只要他們指向正確的方向就行)。
我已經試過
我知道,所有行的起點也只是在軸的中心,我們會說,中心在(0,0)和軸的長度將爲100.這使我可以計算3個軸中每個軸的端點。
我已經定義了X軸是從左到右,Y軸是上下的,Z軸是後向的(即在屏幕外)。
節距是圍繞X軸旋轉,滾動是繞Z軸旋轉,偏航是圍繞Y軸旋轉。
要計算X軸終點我做:
x = cos(roll) * cos(yaw) * 100;
y = sin(-roll) * 100;
爲了計算Y軸終點我做:
x = cos(roll + PI/2) * 100;
y = sin(-roll - PI/2) * sin(PI/2 - pitch) * 100;
要計算Z軸我已經完成的終點:
x = cos(PI/2 - yaw) * 100;
y = sin(PI - pitch) * 100;
這可能很明顯,我真的不知道我在做什麼。當我應該使用像矩陣這樣更高級的東西時,我覺得我正在採取非常幼稚的方法。如果它有所作爲,我使用C,但psuedocode很好。任何幫助,將不勝感激。
謝謝,它的效果很好。 – fruitcup