gluPartialDisk: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
K (Beschreibung: Parameter an neues Bild angepasst)
K (Bild in Parameterabschnitt verlagert)
Zeile 17: Zeile 17:
  
 
== Parameter ==
 
== Parameter ==
 +
[[Bild:Partialdisk.jpg|framed|Partielle Disk mit Loch (innerRadius=1.0, outerRadius=2.0, slices=12, loops=4, startAngle=0, sweepAngle=310)]]
 
<table border=1 rules=all>
 
<table border=1 rules=all>
 
<tr>
 
<tr>
Zeile 52: Zeile 53:
  
 
== Beschreibung ==  
 
== Beschreibung ==  
[[Bild:Partialdisk.jpg|framed|Partielle Disk mit Loch (innerRadius=1.0, outerRadius=2.0, slices=12, loops=4, startAngle=0, sweepAngle=310)]]
 
 
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>
 
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>
 
Der Abschnitt beginnt bei ''startAngle'' und geht bis ''startAngle''+''sweepAngle''. <br>

Version vom 4. September 2006, 23:30 Uhr

gluPartialDisk

Name

gluPartialDisk - zeichnet einen Ausschnitt einer Scheibe.


Delphi-Spezifikation

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


Parameter

Partielle Disk mit Loch (innerRadius=1.0, outerRadius=2.0, slices=12, loops=4, startAngle=0, sweepAngle=310)
quadObject Gibt das Quadrik-Objekt 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