glTranslatef(12.3,0.,0.); -- 沿x 平移12.3
glTranslatef(0., 34.5,,0.); -- 沿y 平移34.5
glTranslatef(0. , 0.0, 67.8); -- 沿z 平移67.8
旋轉操作調 函數 glRotated 或 glRotatef ,前者參數1是角度值 整型,後者是 float型。
glRotated(3,1,0,0); -- 繞 x 軸 轉 3 度
glRotated(3,0,1,0); -- 繞 y 軸 轉 3 度
glRotated(3,0,0,1); -- 繞 z 軸 轉 3 度
這段程序畫 三維空間的 NN 個點,每個點用壹個邊長c1的立方塊表示,顏色由z值決定。
for (i = 0; i< NN ; i++)
{
glPushMatrix();
glTranslatef(x[i],y[i],z[i]);
(void) my_color(z_color(z[i]));
(void) glutSolidCube(c1);
glPopMatrix();
}; // end for i
-----------------
註意 平移和轉動的順序,順序不同,最終結果的位置和狀態可能不能同。
必要時,加 glPushMatrix(); glPopMatrix(); 保證它是自己所要的位置轉換。