gluCylinder: Unterschied zwischen den Versionen
Flash (Diskussion | Beiträge) K (Link auf normalen korrigiert) |
Flash (Diskussion | Beiträge) (Zum EXCELLENTEN Artikel ernannt.) |
||
(13 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
+ | {{Excellent}} | ||
= gluCylinder = | = gluCylinder = | ||
− | + | ||
+ | |||
== Name == | == Name == | ||
− | |||
'''gluCylinder''' - zeichnet einen Zylinder. | '''gluCylinder''' - zeichnet einen Zylinder. | ||
− | + | ||
+ | |||
== Delphi-Spezifikation == | == Delphi-Spezifikation == | ||
− | |||
'''procedure''' gluCylinder(''quadObject'': PGLUquadric; | '''procedure''' gluCylinder(''quadObject'': PGLUquadric; | ||
''baseRadius'', ''topRadius'', ''height'': TGLdouble; | ''baseRadius'', ''topRadius'', ''height'': TGLdouble; | ||
''slices'', ''stacks'': TGLint); | ''slices'', ''stacks'': TGLint); | ||
+ | [[Bild:GluCylinder.jpg|right|thumb|250px|Die Parameter erklärt am Beispiel gluCylinder(Q,1,1,2,12,4)]] | ||
− | |||
== Parameter == | == Parameter == | ||
− | |||
<table border=1 rules=all> | <table border=1 rules=all> | ||
<tr> | <tr> | ||
<td>''quadObject''</td> | <td>''quadObject''</td> | ||
− | <td>Gibt das | + | <td>Gibt das [[Quadrik]]-Objekt an. (erstellt mit [[gluNewQuadric]])</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
Zeile 43: | Zeile 43: | ||
</table> | </table> | ||
− | + | ||
+ | |||
== Beschreibung == | == Beschreibung == | ||
− | + | '''gluCylinder''' zeichnet einen Zylinder, der an der Z-Achse ausgerichtet ist. Der Boden des Zylinders befindet sich dabei bei z = 0 und der Deckel bei z = ''height''. <br> | |
− | '''gluCylinder''' zeichnet einen Zylinder der an der Z-Achse ausgerichtet ist. Der Boden des Zylinders befindet sich dabei bei z = 0 und der Deckel bei z = ''height''. <br> | ||
Wie auch die Kugel ([[gluSphere]]), wird der Zylinder um die Z-Achse in Stücken (''slices'') und entlang der Z-Achse in Stockwerke (''stacks'') unterteilt. Die Stücken bestimmen dabei wie rund der Zylinder tatsächlich erscheint (viele Stücken -> rundere Form).<br> | Wie auch die Kugel ([[gluSphere]]), wird der Zylinder um die Z-Achse in Stücken (''slices'') und entlang der Z-Achse in Stockwerke (''stacks'') unterteilt. Die Stücken bestimmen dabei wie rund der Zylinder tatsächlich erscheint (viele Stücken -> rundere Form).<br> | ||
− | Die Stockwerke, aber auch die Stücken haben eine direkte Auswirkung auf die Wirkung des Zylinders bei angeschaltetem OpenGL-Licht ([[glLight]]). Je mehr es von beiden gibt, desto besser wirkt die Beleuchtung. (Nachteil: viele Polygone) | + | Die Stockwerke, aber auch die Stücken, haben eine direkte Auswirkung auf die Wirkung des Zylinders bei angeschaltetem OpenGL-Licht ([[glLight]]). Je mehr es von beiden gibt, desto besser wirkt die Beleuchtung. (Nachteil: viele Polygone) |
Wenn die Orientierung der [[Normalen]] mittels [[gluQuadricOrientation]] auf '''GLU_OUTSIDE''' gesetzt wurde, zeigen alle Normalen von der Z-Achse weg. Ansonsten zeigen sie zur Z-Achse. | Wenn die Orientierung der [[Normalen]] mittels [[gluQuadricOrientation]] auf '''GLU_OUTSIDE''' gesetzt wurde, zeigen alle Normalen von der Z-Achse weg. Ansonsten zeigen sie zur Z-Achse. | ||
− | Wenn mittels [[ | + | Wenn mittels [[gluQuadricTexture]] Texturierung aktiviert ist, werden automatisch |
Texturkoordinaten in folgender Weise erstellt: | Texturkoordinaten in folgender Weise erstellt: | ||
* t läuft linear von 0.0 bei z = 0 zu 1.0 bei z = height | * t läuft linear von 0.0 bei z = 0 zu 1.0 bei z = height | ||
− | * s läuft von 0.0 bei der pos. Y-Achse über 0.25 bei der pos. X-Achse weiter über 0.5 bei der neg. Y-Achse über 0.75 bei der neg. X-Achse und zurück zu 1.0 bei der pos. Y-Achse. (Quasi wenn man von z = ''height'' zu (0,0,0) | + | * s läuft von 0.0 bei der pos. Y-Achse über 0.25 bei der pos. X-Achse weiter über 0.5 bei der neg. Y-Achse über 0.75 bei der neg. X-Achse und zurück zu 1.0 bei der pos. Y-Achse. (Quasi wenn man von z = ''height'' zu (0,0,0) in Uhrzeigerrichtung schaut.) |
− | + | <br/> | |
− | < | + | <gallery caption="weitere Beispiele für gluCylinder" align="center"> |
+ | Bild:Cylinder1.jpg|Normaler Zylinder im [[glPolygonMode|Drahtgittermodus]] | ||
+ | Bild:Kegel.jpg|Kegel (topradius=0) | ||
+ | Bild:Pyramide.jpg|Pyramide (topradius=0, slices=4, stacks=1) | ||
+ | Bild:Cubedisk.jpg|Würfel (topradius=bottomradius, slices=4, stacks=1) | ||
+ | </gallery> | ||
== Hinweise == | == Hinweise == | ||
− | |||
Wenn ''topRadius'' = 0 ist, wird ein Kegel anstatt eines Zylinders erstellt. | Wenn ''topRadius'' = 0 ist, wird ein Kegel anstatt eines Zylinders erstellt. | ||
− | + | ||
+ | |||
== Siehe auch == | == Siehe auch == | ||
− | |||
[[gluDisk]], [[gluNewQuadric]], [[gluPartialDisk]], [[gluQuadricTexture]], [[gluSphere]] | [[gluDisk]], [[gluNewQuadric]], [[gluPartialDisk]], [[gluQuadricTexture]], [[gluSphere]] | ||
+ | |||
+ | [[Kategorie:GLU|Cylinder]] |
Aktuelle Version vom 6. Januar 2010, 16:28 Uhr
(weitere exzellente Artikel) |
Inhaltsverzeichnis
gluCylinder
Name
gluCylinder - zeichnet einen Zylinder.
Delphi-Spezifikation
procedure gluCylinder(quadObject: PGLUquadric; baseRadius, topRadius, height: TGLdouble; slices, stacks: TGLint);
Parameter
quadObject | Gibt das Quadrik-Objekt an. (erstellt mit gluNewQuadric) |
baseRadius | Definiert den Radius des Zylinders bei z = 0. |
topRadius | Definiert den Radius des Zylinders bei z = height. |
height | Gibt die Höhe des Zylinders an. |
slices | Gibt die Anzahl der Unterteilungen um die Z-Achse an. (Vergl. Pizzastücke) |
stacks | Gibt die Anzahl der Unterteilungen entlang der Z-Achse an. |
Beschreibung
gluCylinder zeichnet einen Zylinder, der an der Z-Achse ausgerichtet ist. Der Boden des Zylinders befindet sich dabei bei z = 0 und der Deckel bei z = height.
Wie auch die Kugel (gluSphere), wird der Zylinder um die Z-Achse in Stücken (slices) und entlang der Z-Achse in Stockwerke (stacks) unterteilt. Die Stücken bestimmen dabei wie rund der Zylinder tatsächlich erscheint (viele Stücken -> rundere Form).
Die Stockwerke, aber auch die Stücken, haben eine direkte Auswirkung auf die Wirkung des Zylinders bei angeschaltetem OpenGL-Licht (glLight). Je mehr es von beiden gibt, desto besser wirkt die Beleuchtung. (Nachteil: viele Polygone)
Wenn die Orientierung der Normalen mittels gluQuadricOrientation auf GLU_OUTSIDE gesetzt wurde, zeigen alle Normalen von der Z-Achse weg. Ansonsten zeigen sie zur Z-Achse.
Wenn mittels gluQuadricTexture Texturierung aktiviert ist, werden automatisch Texturkoordinaten in folgender Weise erstellt:
- t läuft linear von 0.0 bei z = 0 zu 1.0 bei z = height
- s läuft von 0.0 bei der pos. Y-Achse über 0.25 bei der pos. X-Achse weiter über 0.5 bei der neg. Y-Achse über 0.75 bei der neg. X-Achse und zurück zu 1.0 bei der pos. Y-Achse. (Quasi wenn man von z = height zu (0,0,0) in Uhrzeigerrichtung schaut.)
Normaler Zylinder im Drahtgittermodus
Hinweise
Wenn topRadius = 0 ist, wird ein Kegel anstatt eines Zylinders erstellt.
Siehe auch
gluDisk, gluNewQuadric, gluPartialDisk, gluQuadricTexture, gluSphere