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

A lap korábbi változatát látod, amilyen Szeder Zoltán (vitalap | szerkesztései) 2015. január 12., 19:01-kor történt szerkesztése után volt. (Visszavontam Szeder Zoltán (vita | szerkesztései) szerkesztését (oldid: 183968))

1.Feladat

1.rész

Feladat

Van egy madarunk, ami az origóból (p0=0_) v sebességgel indul t=0 időpontban. t=1 időpontban p 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 (v értéke t=1 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 a(t) állandó ( csak a-ként hivatkozok rá):

v(t)=at+v

p(t)=a2t2+vt+0_=a2t2+vt

Ebből következően ha t=1:

p=a2+v

a=2(pv)

Tehát:

v(t)=2(pv)t+v

p(t)=(pv)t2+vt

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 x|x| 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:

ym=r(t)=v(t)

xm=ym×r(t)=ym×a

zm=ym×xm

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)

  • A φz-t hamar kinyerhetjük a xm x értékéből

φz=sin1([xm|xm|].x)

φz{x>0=φzx0=180φz

  • Forgassuk be az x tengelyt a helyére y-ból való forgatással. Az ehhez tartozó szög:

φy=cos1(xm|xm|xm|xm|)

φy{z>0=φyz0=φy

  • Keressük meg az y tengely jelenlegi helyét:

y=[cosφzsinφz0sinφzcosφz0001][010]=[sinφzcosφz0]

  • és számoljuk ki a y tengely és ym közötti szöget

φx=cos1(y|y|ym|ym|)

φx{z>0=φxz0=φx

Ezekkel a szögekkel(φx,φy,φz) kell forgatni a madarat, és el kell mozdítani p(t) vektorral

2. feladat

Már nem emlékszem...