書式
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) とし、これを線形に補間するように 決められる。