Számítógépes grafika és képfeldolgozás - Vizsga, 2015.01.12.

A VIK Wikiből
Ugrás a navigációhoz Ugrás a kereséshez

Amennyiben ki tudjátok egészíteni, vagy hibás számolást találtok nyugodtan változtassátok a cikket.

1.Feladat

1.rész

Feladat

Adott egy merevtestű madár, amely [math]t=0[/math] időpontban az origón megy keresztül [math]\vec{v}[/math] sebességgel, [math]t=1[/math] időpontban már a [math]\vec{p}[/math] pontban található. Pályájának Descartes koordinátái az idő polinomfüggvényei. Adjon meg egy, a feltételeknek eleget tevő pályát, azaz határozza meg, hol van a madár egy tetszőleges [math]t[/math] időpontban és mi a pillanatnyi sebessége. (8 pont)

Mi a madár modellezési transzformációja ebben a pillanatban, amely referencia helyzetből ide transzformálja? Feltételezve, hogy a referencia helyzetben a madár súlypontja origóban van, csőre +y, farka -y, háta +z, hasa -z irányba néz, szárnyait az x tengellyel párhuzamosan feszíti ki. (12 pont)

Megjegyzés

Sajnos a feladatból (számomra) hiányzott egy paraméter ([math]v[/math] értéke [math]t=1[/math] időpontban, vagy, hogy állandó-e a gyorsulás). Amennyiben valaki tud egy jobb, egyértelműbb megoldást, kérem, hogy ossza meg ebben a cikkben.

Megoldás #1

Feltételezzük, hogy [math]a(t)[/math] állandó ( csak [math]a[/math]-ként hivatkozok rá):

[math]v(t)=at+v[/math]

[math]p(t)={a \over 2}t^2 + vt + \underline{0} = {a \over 2}t^2 + vt[/math]

Ebből következően ha [math]t=1[/math]:

[math]p={a \over 2} + v[/math]

[math]a=2(p-v)[/math]

Tehát:

[math]v(t)=2(p-v)t+v[/math]

[math]p(t)=(p-v)t^2+vt[/math]

2. rész

Amennyiben a madár modelje alapesetben csőrével az +y, farkával a -y, hátával a +z és hasával a -z valamint a szárnyai az x tengelyek felé néz, milyen transzformációkat kell elvégeznünk, hogy megfelelő irányban és pozícióban legyen minden időpillanatban úgy, hogy forduláskor bedől (Frenet keret)

Megjegyzés

Valószínűleg hibás (sorry). Érdemes átnézni a jegyzeteket (bmeanimr.ppt ~17. dia) és leellenőrizni. Ebből próbáltam én is összerakni. Amennyiben mégis helyes, akkor kéretik törölni ezt a két sort :)

(A [math]{x \over |x|}[/math] kifejezés egyszerűen csak normalizálást jelent.)

Megoldás

A jegyzetben az alábbi koordinálták vannak:

  • Madár csőre: +z tengely
  • Madár háta: +y tengely
  • Madár szárnyai: x tengely

Ennek köszönhetően fel kell cserélni az egyenletekben a tengelyeket:

[math]y_m = r'(t) = v(t)[/math]

[math]x_m = y_m \times r''(t) = y_m \times a[/math]

[math]z_m = y_m \times x_m[/math]

Ebbe a három vektorba kell forgatni a madarat. Az első cél, hogy az [math]x[/math] tengelyt befordítsuk a [math]x_m[/math] helyére ( 2 forgatás - [math]\varphi_z[/math] és [math]\varphi_y[/math]), utána az [math]y[/math] tengelyt kell beforgatnunk a [math]y_m[/math] helyére ( 1 forgatás - [math]\varphi_x[/math] ). Belátható, hogy e két vektorral a [math]z[/math] tengely is a helyére kerül

  • A [math]\varphi_z[/math]-t hamar kinyerhetjük a [math]x_m[/math]-ben található [math]y[/math] értékből:

[math]\varphi_z'=\sin^{-1}\left( \begin{bmatrix} 0 & 1 & 0 \end{bmatrix} \left[{x_m \over |x_m|}\right]\right)[/math]

[math]\varphi_z \begin{cases} x\gt 0 &= \varphi_z' \\ x \le 0 &= \pi-\varphi_z' \end{cases} [/math]

  • A forgatott [math]x'[/math] tengely és az [math]x_m[/math] által bezárt szög fogja alkotni a [math]\varphi_y[/math]-t:

[math]x'= \begin{bmatrix} \cos\varphi_z & -\sin\varphi_z & 0 \\ \sin\varphi_z & \cos\varphi_z & 0 \\ 0 & 0 & 1 \\ \end{bmatrix} \begin{bmatrix} 1 \\ 0 \\ 0 \end{bmatrix} = \begin{bmatrix} \cos\varphi_z \\ \sin\varphi_z \\ 0 \end{bmatrix} [/math]

[math]\varphi_y'=\cos^{-1}\left({x' \over |x'|} \cdot {x_m \over |x_m|}\right)[/math]

[math]\varphi_y \begin{cases} z\gt 0 &= -\varphi_y' \\ z \le 0 &= \varphi_y' \end{cases} [/math]

  • Hasonlóan az előzőekhez az [math]y'[/math] tengelyt ki kell számolni, és az [math]y_m[/math]-el bezárt szög lesz a [math]\varphi_x[/math]:

[math]y'= \begin{bmatrix} \cos\varphi_z & -\sin\varphi_z & 0 \\ \sin\varphi_z & \cos\varphi_z & 0 \\ 0 & 0 & 1 \\ \end{bmatrix} \begin{bmatrix} 0 \\ 1 \\ 0 \end{bmatrix} = \begin{bmatrix} -\sin\varphi_z \\ \cos\varphi_z \\ 0 \end{bmatrix} [/math]

[math]\varphi_x'=\cos^{-1}\left({y' \over |y'|} \cdot {y_m \over |y_m|}\right)[/math]

[math]\varphi_x \begin{cases} z\gt 0 &= \varphi_x' \\ z \le 0 &= -\varphi_x' \end{cases} [/math]

Ezekkel a szögekkel[math](\varphi_x,\varphi_y,\varphi_z)[/math] kell forgatni a madarat, és el kell mozdítani [math]p(t)[/math] vektorral

2. feladat

Bizonyítsa be, hogy egy invertálható homogén lineáris tanszformáció a projektív síkot projektív síkra, kvadratikus felületet kvadratikus felületre képez le. (10 pont)