glScale: Unterschied zwischen den Versionen
Flash (Diskussion | Beiträge) K (→Beschreibung) |
Flash (Diskussion | Beiträge) (→Beschreibung) |
||
Zeile 22: | Zeile 22: | ||
== Beschreibung == | == Beschreibung == | ||
[[Bild:Tutorial Matrix2 Scale.png|344px|thumb|right|''Auf Bild klicken zum vergrößern'']] | [[Bild:Tutorial Matrix2 Scale.png|344px|thumb|right|''Auf Bild klicken zum vergrößern'']] | ||
− | Die Funktion '''glScale''' bewirkt eine Verzerrung oder Spiegelung des Koordinatensystems. Hierfür wird eine Skalierungsmatrix mit der [[glMatrixMode|aktuellen]] [[Matrix]] multipliziert.<br> | + | |
+ | Die Funktion '''glScale''' bewirkt eine Verzerrung oder Spiegelung des Koordinatensystems. | ||
+ | |||
+ | Hierfür wird eine Skalierungsmatrix mit der [[glMatrixMode|aktuellen]] [[Matrix]] multipliziert.<br> | ||
Die Skalierungsmatrix sieht so aus: | Die Skalierungsmatrix sieht so aus: | ||
<pre> | <pre> | ||
Zeile 31: | Zeile 34: | ||
</pre> | </pre> | ||
wobei x, y, z den übergebenen Parametern entspricht. | wobei x, y, z den übergebenen Parametern entspricht. | ||
+ | |||
<br> | <br> | ||
Version vom 22. April 2006, 18:04 Uhr
Inhaltsverzeichnis
glScale
Name
glScale - bewirkt eine Verzerrung oder Spiegelung des Koordinatensystems.
Delphi-Spezifikation
procedure glScaled(x, y, z: TGLdouble);
procedure glScalef(x, y, z: TGLfloat);
Parameter
x, y, z | Die einzelnen Parameter bestimmen die Verzerrung für die einzelnen Achsen |
Beschreibung
Die Funktion glScale bewirkt eine Verzerrung oder Spiegelung des Koordinatensystems.
Hierfür wird eine Skalierungsmatrix mit der aktuellen Matrix multipliziert.
Die Skalierungsmatrix sieht so aus:
| x 0 0 0 | | 0 y 0 0 | | 0 0 z 0 | | 0 0 0 1 |
wobei x, y, z den übergebenen Parametern entspricht.
Hinweise
Es sollte um jeden Preis vermieden werden, eine Achse auf 0 zu skalieren (x,y und z immer <> 0.0)! Dies führt dazu, dass die aktuelle Matrix singulär wird und Funktionen wie gluProject sowie gluUnProject nicht mehr korrekt funktionieren.
Fehlermeldungen
GL_INVALID_OPERATION wird generiert wenn glScale zwischen einem glBegin und dem zugehörigen glEnd aufgerufen wird.
Zugehörige Wertrückgaben
glGet mit Token GL_MATRIX_MODE
glGet mit Token GL_MODELVIEW_MATRIX
glGet mit Token GL_PROJECTION_MATRIX
glGet mit Token GL_TEXTURE_MATRIX
Beispiele
Weitere Beispiele bei Tutorial Matrix2.
Siehe auch
glLoadMatrix, glMatrixMode, glMultMatrix, glPushMatrix, glRotate, glTranslate