OpenGL中glTranslate*(),glRotation*(),glScale*()函数的用法(*是参数数据类型)
生活随笔
收集整理的這篇文章主要介紹了
OpenGL中glTranslate*(),glRotation*(),glScale*()函数的用法(*是参数数据类型)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
首先注意,VS中使用上面的函數時,函數名里面要指明參數的數據類型,是float還是double,分別對應glScaled()和glScalef(),否則,直接調用glScale()會報錯的,編譯不通過。
函數用法:
glTranslate*(x,y,z)是平移操作,x,y,z指定沿著世界坐標系的x,y,z軸的平移量。
glRotation*(x,y,z)是做旋轉的,第一個參量是angle,指定旋轉角度,x,y,z指定沿著世界坐標系中的旋轉軸向量(x,y,z),比如glRotation(30,0,1,0)就是繞著Y軸向左旋轉30°
glScale*(x,y,z)是縮放操作,x,y,z指定了沿著x,y,z軸的比例因子。
例如glScalef(2,2,0),就會把繪制的圖形在二維平面上放大兩倍。
注:一般可以在display函數中繪制出圖形后可以調用它們來進行上述操作。
注意:
1.首先,上面三個函數可以同時使用(有先后順序地),例如:對一個物體平移的時候,順便放大兩倍。
2.運行結果:假如選擇平移操作,那么在控制臺界面上每點擊一下鼠標,就會在當前位置的基礎上進行一次平移操作,假如你在display函數最前面,不清除顏色,那么你將會看到一系列平移圖形的效果(也相當于是圖形平移的位置過程)
總結
以上是生活随笔為你收集整理的OpenGL中glTranslate*(),glRotation*(),glScale*()函数的用法(*是参数数据类型)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OpenGL中关于坐标系原点在左上角还是
- 下一篇: OpenGL中不可以有两个以上myDis