Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Odgovor na moje sopstveno pitanje

[es] :: 3D programiranje :: Odgovor na moje sopstveno pitanje

[ Pregleda: 2043 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

3DInfection
Damir Nikolic

Član broj: 9072
Poruke: 10
*.netpro.co.yu



Profil

icon Odgovor na moje sopstveno pitanje05.05.2003. u 03:17 - pre 255 meseci
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.


 
Odgovor na temu

Mrav
Aleksandar Mraović
.net programer u Wireless Media
Beograd

Član broj: 6532
Poruke: 279
*.beg.sezampro.yu

ICQ: 197419540


Profil

icon Re: Odgovor na moje sopstveno pitanje15.05.2003. u 01:01 - pre 255 meseci
Č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 .
Lepota je u jednostavnosti.

Cis.
 
Odgovor na temu

[es] :: 3D programiranje :: Odgovor na moje sopstveno pitanje

[ Pregleda: 2043 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.