gluPartialDisk(3) 扇形を描画する

書式

void gluPartialDisk( GLUquadric* quad,


GLdouble inner,
GLdouble outer,
GLint slices,
GLint loops,
GLdouble start,
GLdouble sweep )

delim $$

引き数

quad
二次曲面オブジェクト(gluNewQuadric を使って作る)を指定する。
inner
扇形の内径を指定する(0 でもよい)。
outer
扇形の外径を指定する。
slices
z 軸回りの分割数を指定する。
loops
扇形を分割する、原点回りの同心円の数を指定する。
start
扇形の開始角を指定する。 単位は度数である。
sweep
扇形の内角を指定する。 単位は度数である。

説明

gluPartialDisk は $ z ~=~ 0 $ 平面上に扇形をレンダリングする。 これは円盤と似た形状だが、円盤の start 度から start + sweep 度の 部分しか含まれない点が異なる(ここで 0 度は +y軸、90 度は +x 軸、 180度は -y 軸、270 度は -x 度となる)。

扇形は半径 outer であり、半径 inner で同心円の穴が開いている。 inner が 0 ならば穴は作られない。 扇形は z 軸回りに(ピザのスライスのような形に)分割され、さらに z 軸を中心とするリング状にも分割される(前者の分割数は slices、後者の分割数は loops で指定する)。

方向については、扇形の +z 側が外側とされる (gluQuadricOrientation を参照)。 つまり、方向として GLU_OUTSIDE が設定されている場合には、生成 される法線は +z 軸向きとなる。 そうでない場合は、法線は -z 軸向きとなる。

テクスチャが(gluQuadricTexture を使って)有効にされている場合は、 テクスチャ座標は $ r ~=~ "outer" $ について、 (r, 0, 0) での値を (1.0, 0.5), (0, r, 0) での値を (0.5, 1.0), (-r, 0, 0) での値を (0.0, 0.5), (0, -r, 0) での値を (0.5, 0.0) とし、これを線形に補間するように 決められる。