[ 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. |