- Symulator MaSzyna -

Symulator EU07 (i nie tylko) => Symulator => Wątek zaczęty przez: Maciej w 23 Lutego 2018, 15:22:22

Tytuł: Obliczanie transformu po zmianie parenta
Wiadomość wysłana przez: Maciej w 23 Lutego 2018, 15:22:22
Chciałbym spróbować zmienić w notatniku parenta jednego z submodeli, ale problem jest w tym, że po takiej zmianie znika ten submodel. W związku z tym myślę, że należałoby zmienić jego transform. I tu moje pytanie: jak obliczany jest transform w symulatorze, że dany submodel wyświetlany jest w takim a nie innym miejscu? Wszystkie liczby znajdujące się w transformie "rodzica" są wymnażane przez liczby znajdujące się w transformie "dziecka" czy jak to działa?
Tytuł: Odp: Obliczanie transformu po zmianie parenta
Wiadomość wysłana przez: Stele w 23 Lutego 2018, 17:16:11
Teoretycznie mnożysz macierze od najmłodszego dziecka, przez macierze kolejnych rodziców i uzyskasz transform względem origina. Z tym, że w t3d transformy były transponowane względem openGL z tego co wiem.
http://www.opengl-tutorial.org/beginners-tutorials/tutorial-3-matrices/#cumulating-transformations
http://www.opengl-tutorial.org/assets/faq_quaternions/index.html#Q11

Nie prościej jednak postawić blendera i przepiąć hierarchię by przy eksporcie klocka przeliczył geometrię niż liczyć kwaterniony na kartce?
Tytuł: Odp: Obliczanie transformu po zmianie parenta
Wiadomość wysłana przez: Maciej w 23 Lutego 2018, 19:15:43
Mi na Blenderze żaden model nie chce się importować niestety i w tym cały problem :/.

A co się dzieje, jeżeli rodzic ma wpisane w transformie 0, a dziecko inną liczbę, np. 0.6489? To wtedy przecież chyba i tak dla dziecka wyjdzie 0, bo 0.6489*0=0.
Tytuł: Odp: Obliczanie transformu po zmianie parenta
Wiadomość wysłana przez: szogun w 23 Lutego 2018, 19:35:50
To nie jest tak hop siup, kazdy wierzcholek jest pozycjonowany wzgledem pivota (transforma). Niby wszystko da sie przeliczyc ale nie do konca, eystarczy inny obrot jest I zaczynaja sie schody.
Tytuł: Odp: Obliczanie transformu po zmianie parenta
Wiadomość wysłana przez: Stele w 23 Lutego 2018, 19:40:56
Cały wiersz zer ma? Na przekątnej nie może, bo byłby wynicowany. Ogarniasz ogólnie rachunek macierzowy? Nie rób tego na kartce, wklep sobie w excela. W internecie też pełno jest kalkulatorów.
Tytuł: Odp: Obliczanie transformu po zmianie parenta
Wiadomość wysłana przez: Maciej w 23 Lutego 2018, 20:25:54
Właśnie dłubię w excelu. I teraz tak: mam wymnożone macierze przy oryginalnym przyparentowaniu. Teraz zmieniam parenta. I co mam dalej z tym zrobić? W excelu mam tylko dwie funkcje: MACIERZ.ILOCZYN (mnożenie macierzy) i MACIERZ.ODW (odwrotność macierzy).
Tytuł: Odp: Obliczanie transformu po zmianie parenta
Wiadomość wysłana przez: Milek7 w 23 Lutego 2018, 20:36:09
Jak wychodzisz ze struktury w górę to mnożysz transform ze starego parenta przez transform tego co przesuwasz. Jak wchodzisz wgłąb struktury to chyba mnożysz transform przez odwrotność transforma nowego parenta. Ale nie jestem pewny, może lepiej sprawdź czemu skrypty do blendera nie wczytują.
Tytuł: Odp: Obliczanie transformu po zmianie parenta
Wiadomość wysłana przez: Maciej w 23 Lutego 2018, 21:01:40
Bardzo Wam dziękuję. Udało się obliczyć transformy. Lampka została przeparentowana i została na swoim miejscu. Jeszcze raz ogromne dzięki. Wątek zamykam.