[ 3DInfection @ 05.05.2003. 03:17 ] @
Do skora je ovde stajalo moje pitanje " DirectX Tacka oko koje se vrsi rotacija objekta". Ako neko ima isti problem, evo odgovora ( samo treba ostaviti problem sa strane nekoliko dana i kada se ponovo na njega vratite on je vec resen 60%, verujte mi ).

Dakle, transformacije se vrse u WORLD space-u pomocu matrica. Svaki vertex u meshu ima svoju poziciju:

Na primer, evo jednog trougla ( dobro, neceg sto podseca...):

A (0,0,10)
/\
/ \
B (-10,0,-10) C(10, 0, -10)

Centar trougla je sada ( neko D ) D (0, 0, 0) ( proverite ako hocete ).

Sada, kada se vrsi rotacija pomocu matrice trougao se obrce oko ovog centra.

Pomeranje centra:

Centar pomeramo tako sto offsetujemo svaki vertex nekom vrednoscu:

A (0,0,5)
/\
/ \
B (-10,0,-5) C(10, 0, -5)

U ovom slucaju je centar pomeren za 5 ( necega ) po Z osi.

Ali, nije pomeren centar. Pomereni su vertexi. Centar ostaje gde je ( zao mi je zbog lose interpretacije ) tako da trougao "klizi" na gore ali je u odnosu na trougao pomeren, za 5 jedinica. Tako, sada kada rotiramo trougao pomocu matrice on ce se rotirati oko nove tacke koja je u odnosu na trougao pomerna za 5 jedinica.

Isprobajte, ukapiracete fazon.

Mozda ovo mnogi ljudi vec znaju, ali je meni ovo stvarno bilo problem duze vreme, i odgonetnulo je mnoge misterije u odnosu WORLD - OBJECT space-u.


[ Mrav @ 15.05.2003. 01:01 ] @
Čudno da si se toliko mučio oko ovoga. Verovatno da je ovaj princip (inače osnovan za bilo kakvo programiranje 3d grafike) loše objašnjen u DirectX SDK (pretpostavljam da si odatle učio, jer bar kod na s nema da se nađe knjiga na tu temu). Ja učim OpenGl i iz Redbook-a (oficijelno programersko uputstvo) je to odmah jasno iz dela koji se bavi transformacijama u prostoru, čak su dati i primeri za vežbu iz kojih se ovo lako i u praksi uvežba (pravi se hijerarhija objekata - nadlaktica, podlaktica, šaka i prsti ruke: dete hijerarhije nasleđuje transformacijsku matricu roditelja i množi je dodatno da bi se pomerilo u odnosu na roditelja, konačno roditelj je vezan za matricu sveta).
Evo, dao sam ti ideju ako nisi znao kako da napravis hijerarhiju objekata (što će ti svakako trebati, i crvu treba hijerarhija da bi se migoljio a kamoli modelu čoveka .