„Számítógépes grafika és képfeldolgozás - Vizsga, 2015.01.12.” változatai közötti eltérés

A VIK Wikiből
Ugrás a navigációhoz Ugrás a kereséshez
42. sor: 42. sor:
  
 
<math>z_m = y_m \times x_m</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 x tengely megfeleljen (két forgatás - z és y), utána az y tengelyt feleltetjük meg (1 forgatás - x)
 
* Ahhoz, hogy megtudjuk a forgatás mértékét, először le kell képeznünk az <math>x_m</math> vektort az x,y síkra:
 
<math>x_m'=
 
\begin{bmatrix}
 
1 & 0 & 0 \\
 
0 & 1 & 0 \\
 
0 & 0 & 0
 
\end{bmatrix}
 
\cdot
 
x_m
 
</math>
 
* Egy skalárszorzással megtudjuk a szöget:
 
<math>\varphi_z'=\cos^{-1}\left({x_m' \over |x_m'|}\cdot
 
\begin{bmatrix}
 
1 \\
 
0 \\
 
0
 
\end{bmatrix}
 
\right)</math>
 
 
<math>\varphi_z
 
\begin{cases}
 
y>0 &= \varphi_z' \\
 
y \le 0 &= -\varphi_z'
 
\end{cases}
 
</math>
 
 
* Forgassuk be az <math>x</math> tengelyt a helyére <math>y</math>-ból való forgatással. Az ehhez tartozó szög:
 
<math>\varphi_y'=\cos^{-1}\left({x_m' \over |x_m'|} \cdot {x_m \over |x_m|}\right)</math>
 
 
<math>\varphi_y
 
\begin{cases}
 
z>0 &= -\varphi_y' \\
 
z \le 0 &= \varphi_y'
 
\end{cases}
 
</math>
 
* Keressük meg az <math>y</math> tengely jelenlegi helyét:
 
<math>y'=
 
\begin{bmatrix}
 
\cos\varphi_z & -\sin\varphi_z & 0 \\
 
\sin\varphi_z & \cos\varphi_z & 0 \\
 
0 & 0 & 1 \\
 
\end{bmatrix}
 
\cdot
 
\begin{bmatrix}
 
0 \\
 
1 \\
 
0
 
\end{bmatrix}
 
=
 
\begin{bmatrix}
 
-\sin\varphi_z \\
 
\cos\varphi_z \\
 
0
 
\end{bmatrix}
 
</math>
 
* és számoljuk ki a <math>y'</math> tengely és <math>y_m</math> közötti szöget
 
<math>\varphi_x'=\cos^{-1}\left({y' \over |y'|} \cdot {y_m \over |y_m|}\right)</math>
 
 
<math>\varphi_x
 
\begin{cases}
 
z>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 ==
 
== 2. feladat ==
 
Már nem emlékszem...
 
Már nem emlékszem...

A lap 2015. január 12., 17:45-kori változata

1.Feladat

1.rész

Feladat

Van egy madarunk, ami az origóból ([math]p_0=\underline{0}[/math]) [math]v[/math] sebességgel indul [math]t=0[/math] időpontban. [math]t=1[/math] időpontban [math]p[/math] pozícióba kerül. Adja meg az idő-parametrizáltan, milyen pozícióban, milyen sebességgel repült.

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]

2. feladat

Már nem emlékszem...