現在地 >> メニュー >> 基本編04 >> 物体操作

次 >> 複数の物体操作

<基本的な物体操作>


基本的な物体操作として
  • 行列のリセット → glLoadIdentity()
  • 平行移動 → glTranslate()関数
  • 回転 → glRotate()関数
  • 拡大・縮小 → glScale()関数

などがある。


[例]

void display()
{

	... ...

	glTranslated(1,0,0);
	glRoteted(45,0,1,0);
 	glScaled(2,2,2);
	   [描画物A]

	... ...

}

この場合、描画物Aが
  1. (x,y,z)方向に2倍に拡大
  2. y軸中心に45回転
  3. x方向に1だけ並行移動
という操作になる。

物体操作の注意点


アフィン変換はソースコードの下から順に行われる。
従って、アフィン変換の順番には気をつける必要がある。

例えば、
45度の回転とx方向に+1だけ並行移動する場合
以下の2つは違う位置になる。


[アフィン変換A]

    glTaranslated(1,0,0) [2].平行移動
    glRotated(45,0,1,0) [1].45度回転
    glutSolidCube(0.5); //立方体の描画


[アフィン変換B]

    glRotated(45,0,1,0) [2].45度回転
    glTranslated(1,0,0) [1].平行移動
    glutSolidCube(0.5); //立方体の描画


次 >> 複数の物体操作

目次

― その他 ―

Wiki内検索

計測中...(07.10.8〜)

Save The World






▲よろしければ広告のクリックもお願いします


▲ランキングに参加しました

管理人/副管理人のみ編集できます