Grafikprogrammierung
2D Transformationen
Thorsten Thormählen
31. Oktober 2022
Teil 5, Kapitel 1
Thorsten Thormählen
31. Oktober 2022
Teil 5, Kapitel 1
Dies ist die Druck-Ansicht.
Weiterschalten der Folien durch die → Taste oder
durch das Klicken auf den rechten Folienrand.
Das Weiterschalten der Folien kann ebenfalls durch das Klicken auf den rechten bzw. linken Folienrand erfolgen.
Typ | Schriftart | Beispiele |
---|---|---|
Variablen (Skalare) | kursiv | $a, b, x, y$ |
Funktionen | aufrecht | $\mathrm{f}, \mathrm{g}(x), \mathrm{max}(x)$ |
Vektoren | fett, Elemente zeilenweise | $\mathbf{a}, \mathbf{b}= \begin{pmatrix}x\\y\end{pmatrix} = (x, y)^\top,$ $\mathbf{B}=(x, y, z)^\top$ |
Matrizen | Schreibmaschine | $\mathtt{A}, \mathtt{B}= \begin{bmatrix}a & b\\c & d\end{bmatrix}$ |
Mengen | kalligrafisch | $\mathcal{A}, B=\{a, b\}, b \in \mathcal{B}$ |
Zahlenbereiche, Koordinatenräume | doppelt gestrichen | $\mathbb{N}, \mathbb{Z}, \mathbb{R}^2, \mathbb{R}^3$ |
$\tilde{\mathbf{p}}= \begin{pmatrix} \tilde{x}\\ \tilde{y}\end{pmatrix} = \begin{pmatrix} x + t_x\\ y + t_y \end{pmatrix} = \mathbf{p} + \begin{pmatrix} t_x\\ t_y \end{pmatrix} = \mathbf{p} + \mathbf{t}$
class Renderer { private: void drawTriangle() { glBegin(GL_TRIANGLES); glVertex3f(-0.5f, -0.5f, 0.0f); glVertex3f( 0.5f, -0.5f, 0.0f); glVertex3f( 0.0f, 0.5f, 0.0f); glEnd(); } public: void init() {} void resize(int w, int h) { glViewport(0, 0, w, h); } void display() { glClearColor(0.0f, 0.0f, 0.0f, 0.0f); glClear(GL_COLOR_BUFFER_BIT); glOrtho(-1.0f, 1.0f, -1.0f, 1.0f, -1.0f, 1.0f); glLoadIdentity(); glColor3f(1.0f, 1.0f, 1.0f); drawTriangle(); glColor3f(0.0f, 0.0f, 1.0f); glScalef(0.5, 0.5, 0.0); // resize to 50% drawTriangle(); glColor3f(1.0f, 0.0f, 0.0f); glRotatef(45.0, 0.0, 0.0, 1.0); //rotate 45 degrees drawTriangle(); glColor3f(0.0f, 1.0f, 0.0f); glTranslatef(0.5, 0.5, 0.0); // translate drawTriangle(); } void dispose() {} };
Anregungen oder Verbesserungsvorschläge können auch gerne per E-mail an mich gesendet werden: Kontakt