GLROTATE

Section: Misc. Reference Manual Pages (3G)
索引 xjman
 

名前

glRotated, glRotatef - 現在の行列に回転行列を掛ける

 

書式

void glRotated( GLdouble angle,

                  GLdouble x,
                  GLdouble y,
                  GLdouble z )
void glRotatef( GLfloat angle,

                  GLfloat x,
                  GLfloat y,
                  GLfloat z )

delim $$  

引き数

angle
回転角を指定する。 単位は度数である。
x, y, z
ベクトルの x, y, z 座標を指定する。
 

説明

glRotate はベクトル $("x", "y", "z")$ 周りの angle 度の 回転を生成する。 現在の行列(glMatrixMode を参照)に回転行列が掛けられ、 その積が現在の行列と置き換わる。 この際の動作は、次の行列を引き数として glMultMatrix を 呼んだ場合と同様である:

left ( ~ down 20 matrix {
 ccol { 
   "x" sup 2 (1 ^-^ c)~+~ c above
   "y" "x" (1 ^-^ c)~+~ "z" s above
   "x" "z" (1 ^-^ c)~-~"y" s above
   ~0 
 } 
 ccol {
   ~~ "x" "y" (1 ^-^ c)~-~"z" s above
   ~~ "y" sup 2 (1 ^-^ c)~+~ c above
   ~~ "y" "z" (1 ^-^ c)~+~ "x" s above
   ~~ ~0
 } 
 ccol {
   ~~ "x" "z" (1 ^-^ c)~+~ "y" s above
   ~~ "y" "z" (1 ^-^ c)~-~ "x" s above
   ~~ "z" sup 2 (1 ^-^ c) ~+~  c above
   ~~ ~0
 } 
 ccol { ~0 above ~0 above ~0 above ~1} } ~~ right )

ここで $c ~=~ cos ("angle")$, $s ~=~ sin ("angle")$, $||(~"x", "y", "z"~)|| ~=~ 1$ (1 でない場合は、GL はこのベクトル を正規化する)である。

行列モードが GL_MODELVIEW または GL_PROJECTION の場合、 glRotate が呼ばれた後に描画された全ての行列は回転している。 回転していない座標系を保存・復元するには、 glPushMatrix および glPopMatrix を使うこと。  

注意

この回転は右手則に従うので、ベクトル $("x", "y", "z")$ が ユーザの方を向いている場合には、回転は反時計周りになる。  

エラー

GL_INVALID_OPERATION: glBegin と、その対になる glEnd の間で glRotate を実行すると起こる。  

関連する取得値

引き数 GL_MATRIX_MODE を指定した glGet
引き数 GL_COLOR_MATRIX を指定した glGet
引き数 GL_MODELVIEW_MATRIX を指定した glGet
引き数 GL_PROJECTION_MATRIX を指定した glGet
引き数 GL_TEXTURE_MATRIX を指定した glGet  

関連項目

glMatrixMode(3G), glMultMatrix(3G), glPushMatrix(3G), glScale(3G), glTranslate(3G)


 

Index

名前
書式
引き数
説明
注意
エラー
関連する取得値
関連項目

jman



Time: 07:01:10 GMT, January 12, 2009