gluPartialDisk: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
K (Wird offline bearbeitet)
 
(Version Hochgeladen)
Zeile 1: Zeile 1:
= Wird offline bearbeitet =
+
= gluPatialDisk =
  
= bitte keine Änderungen durchführen =
+
<br>
 +
== Name ==
 +
----
 +
'''gluPatialDisk''' - zeichnet einen Ausschnitt einer Scheibe.
 +
 
 +
<br>
 +
== Delphi-Spezifikation ==
 +
----
 +
'''procedure''' gluPartialDisk(''quadObject'': PGLUquadric;
 +
                          ''innerRadius'', ''outerRadius'': TGLdouble;
 +
                    ''slices'', ''loops'': TGLint;
 +
                          ''startAngle'', ''sweepAngle'' : TGLdouble);
 +
 
 +
<br>
 +
== Parameter ==
 +
----
 +
<table border=1 rules=all>
 +
<tr>
 +
<td>''quadObject''</td>
 +
<td>Gibt das Quadrikobjekt an. (erstellt mit [[gluNewQuadric]])</td>
 +
</tr>
 +
<tr>
 +
<td>''innerRadius''</td>
 +
<td>Definiert den inneren Radius der Scheibe. (kann auch 0 sein.)</td>
 +
</tr>
 +
<tr>
 +
<td>''outerRadius''</td>
 +
<td>Definiert den äußeren Radius der Scheibe.</td>
 +
</tr>
 +
<tr>
 +
<td>''slices''</td>
 +
<td>Gibt die Anzahl der Unterteilungen um die Z-Achse an. (Vergl. Pizzastücke)</td>
 +
</tr>
 +
<tr>
 +
<td>''loops''</td>
 +
<td>Gibt die Anzahl der konzentrischen Ringe um das Zentrum an, in welche die Scheibe unterteilt ist.</td>
 +
</tr>
 +
<tr>
 +
<td>''startAngle''</td>
 +
<td>Definiert den Startwinkel des Scheibenausschnitts in Grad.</td>
 +
</tr>
 +
<tr>
 +
<td>''sweepAngle''</td>
 +
<td>Definiert die Größe des Scheibenausschnitts in Grad.</td>
 +
</tr>
 +
</table>
 +
 
 +
<br>
 +
== Beschreibung ==
 +
----
 +
Die Funktion '''gluPartialDisk''' rendert einen Ausschnitt einer Scheibe in der z = 0 Ebene. Ein Scheibenausschnitt ist ähnlich einer kompletten Scheibe mit dem Unterschied, dass sie nur einem Ab-/Ausschnitt der Scheibe darstellt. <br>
 +
Der Abschnitt beginnt bei ''startAngle'' und geht bis ''startAngle''+''sweepAngle''. <br>
 +
Die Gradangaben sind so zu deuten:
 +
<table border=1 rules=all>
 +
<tr>
 +
<td>'''Grad'''</td>
 +
<td>'''Position im Koordinatensystem'''</td>
 +
</tr>
 +
<tr>
 +
<td>0</td>
 +
<td>pos. Y-Achse</td>
 +
</tr>
 +
<tr>
 +
<td>90</td>
 +
<td>pos. X-Achse</td>
 +
</tr>
 +
<tr>
 +
<td>180</td>
 +
<td>neg. Y-Achse</td>
 +
</tr>
 +
<tr>
 +
<td>270</td>
 +
<td>neg. X-Achse</td>
 +
</tr>
 +
</table>
 +
 
 +
Der Scheibenabschnitt hat einen Radius von ''outerRadius'' und ein konzentrisches Loch mit dem Radius ''innerRadius''. <br>
 +
Wenn ''innerRadius'' = 0 ist, wird kein Loch erstellt.<br>
 +
 
 +
Der Scheibenabschnitt ist um die Z-Achse in Stücke unterteilt, die man sich wie Pizzastücke vorstellen kann, wobei die Z-Achse im Zentrum der Pizza (hier Scheibe) liegt.<br>
 +
 
 +
Außerdem ist der Scheibenabschnitt noch in konzentrische Ringe aufgeteilt.
 +
 
 +
Die Anzahl der Ringe, aber auch der Stücke (wie sie über ''slices'' und ''loops'' angegeben werden) haben eine direkte Auswirkung auf die Wirkung des Ausschnitts bei angeschaltetem OpenGL-Licht ([[glLight]]). Je mehr es von beiden gibt, desto besser wirkt die Beleuchtung. (Nachteil: viele Polygone)
 +
 
 +
Die Orientierung des Ausschnitts ist so, dass die +z-Seite als Außenseite gilt (siehe [[gluQuadricOrientation]]). Das bedeutet, wenn die Orientierung auf '''GLU_OUTSIDE''' gesetzt wurde, zeigen die [[Normalen]] in Richtung der positiven Z-Achse, ansonsten in Richtung der negative Z-Achse.
 +
 
 +
Wenn mittels [[gluQuadricTexture]] Texturierung aktiviert ist, werden automatisch Texturkoordinaten in folgender Weise erstellt. <br>
 +
Wenn r = outerRadius dann gilt:
 +
<table border=1 rules=all>
 +
<tr>
 +
<td>'''Koordinaten'''</td>
 +
<td>'''Texture Koordinaten'''</td>
 +
</tr>
 +
<tr>
 +
<td>( r , 0.0, 0.0)</td>
 +
<td>(1.0, 0.5)</td>
 +
</tr>
 +
<tr>
 +
<td>(0.0, -r , 0.0)</td>
 +
<td>(0.5, 1.0)</td>
 +
</tr>
 +
<tr>
 +
<td>(-r , 0.0, 0.0)</td>
 +
<td>(0.0, 0.5)</td>
 +
</tr>
 +
<tr>
 +
<td>(0.0, r , 0.0)</td>
 +
<td>(0.5, 0.0)</td>
 +
</tr>
 +
</table>
 +
 
 +
<br>
 +
== Siehe auch ==
 +
----
 +
[[gluCylinder]], [[gluDisk]], [[gluNewQuadric]], [[gluQuadricOrientation]], [[gluQuadricTexture]], [[gluSphere]]

Version vom 2. August 2004, 02:01 Uhr

gluPatialDisk


Name


gluPatialDisk - zeichnet einen Ausschnitt einer Scheibe.


Delphi-Spezifikation


procedure gluPartialDisk(quadObject: PGLUquadric; 
                         innerRadius, outerRadius: TGLdouble;
                  	  slices, loops: TGLint;
                         startAngle, sweepAngle : TGLdouble);


Parameter


quadObject Gibt das Quadrikobjekt an. (erstellt mit gluNewQuadric)
innerRadius Definiert den inneren Radius der Scheibe. (kann auch 0 sein.)
outerRadius Definiert den äußeren Radius der Scheibe.
slices Gibt die Anzahl der Unterteilungen um die Z-Achse an. (Vergl. Pizzastücke)
loops Gibt die Anzahl der konzentrischen Ringe um das Zentrum an, in welche die Scheibe unterteilt ist.
startAngle Definiert den Startwinkel des Scheibenausschnitts in Grad.
sweepAngle Definiert die Größe des Scheibenausschnitts in Grad.


Beschreibung


Die Funktion gluPartialDisk rendert einen Ausschnitt einer Scheibe in der z = 0 Ebene. Ein Scheibenausschnitt ist ähnlich einer kompletten Scheibe mit dem Unterschied, dass sie nur einem Ab-/Ausschnitt der Scheibe darstellt.
Der Abschnitt beginnt bei startAngle und geht bis startAngle+sweepAngle.
Die Gradangaben sind so zu deuten:

Grad Position im Koordinatensystem
0 pos. Y-Achse
90 pos. X-Achse
180 neg. Y-Achse
270 neg. X-Achse

Der Scheibenabschnitt hat einen Radius von outerRadius und ein konzentrisches Loch mit dem Radius innerRadius.
Wenn innerRadius = 0 ist, wird kein Loch erstellt.

Der Scheibenabschnitt ist um die Z-Achse in Stücke unterteilt, die man sich wie Pizzastücke vorstellen kann, wobei die Z-Achse im Zentrum der Pizza (hier Scheibe) liegt.

Außerdem ist der Scheibenabschnitt noch in konzentrische Ringe aufgeteilt.

Die Anzahl der Ringe, aber auch der Stücke (wie sie über slices und loops angegeben werden) haben eine direkte Auswirkung auf die Wirkung des Ausschnitts bei angeschaltetem OpenGL-Licht (glLight). Je mehr es von beiden gibt, desto besser wirkt die Beleuchtung. (Nachteil: viele Polygone)

Die Orientierung des Ausschnitts ist so, dass die +z-Seite als Außenseite gilt (siehe gluQuadricOrientation). Das bedeutet, wenn die Orientierung auf GLU_OUTSIDE gesetzt wurde, zeigen die Normalen in Richtung der positiven Z-Achse, ansonsten in Richtung der negative Z-Achse.

Wenn mittels gluQuadricTexture Texturierung aktiviert ist, werden automatisch Texturkoordinaten in folgender Weise erstellt.
Wenn r = outerRadius dann gilt:

Koordinaten Texture Koordinaten
( r , 0.0, 0.0) (1.0, 0.5)
(0.0, -r , 0.0) (0.5, 1.0)
(-r , 0.0, 0.0) (0.0, 0.5)
(0.0, r , 0.0) (0.5, 0.0)


Siehe auch


gluCylinder, gluDisk, gluNewQuadric, gluQuadricOrientation, gluQuadricTexture, gluSphere