C-Uebung

Animation

Rastergrafik | | Wieso C++ ???

Zusatzaufgabe “Animation”:

Zeichnen Sie eine fallende Kugel, die von den Seiten des Zeichenfensters abprallt. Die Kugel sei schematisch als Kreis mit dem Radius $r=0.02$ dargestellt. Die Bewegung des Schwerpunktvektors $\vec{p}$ während eines kleinen Zeitintervalls $\Delta t$ zu einer neuen Position $\vec{p}'$ ist:

Position $\vec{p}' = \vec{p} + \Delta t \cdot \vec{v}$
Geschwindigkeit $\vec{v}' = \vec{v} + \Delta t \cdot \vec{a}$
Beschleunigung $\vec{a} = (0, -G)^T$
mit $\Delta t=0.02$ und $G=0.5$.

Der Anfangszustand sei:

$\vec{p}_0 = (0.5, 0.75)^T$
$\vec{v}_0 = (0.2,0)^T$

Wenn die Kugel eine Seitenwand berührt, so negiert sich die entsprechende Geschwindigkeitskomponente. Also z.B. bei Bodenberührung (d.h. $p_y<r$) negiert sich die Komponente $v_y'=-v_y$.

Hinweis: Den letzten Parameter von plot_openwindow() auf TRUE für kontinuierliches Zeichnen setzen.


Zusatzaufgabe: Zeichnen sie die 20 letzten Positionen der Kugel mit abnehmender Farbintensität.

GLUTBounce


Rastergrafik | | Wieso C++ ???

Options: