Ostatnie wiadomości

Strony: 1 2 [3] 4 5 6 7 ... 10
21
Matematyka i fizyka / Odp: Obrót obiektu zgodnie z wektorem kierunku
« Ostatnia wiadomość wysłana przez MDW dnia Styczeń 20, 2019, 13:05:14 »
A nie możesz ustawić po prostu Lookat = Pos + wektor kierunku?
Tak chyba trzeba będzie zrobić. Myślałem, że jakoś przycwaniakuję i ta orientacja sama mi wyjdzie skoro ruch obiektu jest tak jasno określony. 😃
22
Matematyka i fizyka / Odp: Obrót obiektu zgodnie z wektorem kierunku
« Ostatnia wiadomość wysłana przez bartekm dnia Styczeń 20, 2019, 12:14:26 »
A nie możesz ustawić po prostu Lookat = Pos + wektor kierunku?
23
Matematyka i fizyka / Odp: Obrót obiektu zgodnie z wektorem kierunku
« Ostatnia wiadomość wysłana przez MDW dnia Styczeń 20, 2019, 12:03:51 »
Możesz to rozwiązać w jakiś nieelegancki sposób typu LookAt(previousPosition)
Jeżeli metodą LookAt to mogę patrzeć na koniec wektora kierunku (który znam) dodanego do aktualnej pozycji. I myślę, że też tego spróbuję. 👍
24
Matematyka i fizyka / Odp: Obrót obiektu zgodnie z wektorem kierunku
« Ostatnia wiadomość wysłana przez laggyluk dnia Styczeń 20, 2019, 11:41:33 »
Możesz to rozwiązać w jakiś nieelegancki sposób typu LookAt(previousPosition)
25
Matematyka i fizyka / Odp: Obrót obiektu zgodnie z wektorem kierunku
« Ostatnia wiadomość wysłana przez Kyroaku dnia Styczeń 19, 2019, 22:13:13 »
Dzięki. A nie będzie tutaj problemu w którym po połowie drigi obiekt się obróci o 180 stopni w osi wektora kierunku? Chodzi mi o ten klasyczny problem przez który najczęściej ludzie przechodzą z macierzy na kwaterniony. 😃

Też o tym pomyślałem i wydaje mi się, że jak wektor 'up' będzie skierowany tak, jak to opisałeś, czyli od środka sfery do obiektu, to problemu nie będzie.
26
Matematyka i fizyka / Odp: Obrót obiektu zgodnie z wektorem kierunku
« Ostatnia wiadomość wysłana przez Reg dnia Styczeń 19, 2019, 20:12:47 »
Załóżmy, że obiekt porusza się po okręgu opisanym takim równaniem. Inną trajektorię można sprowadzić do tej przez odpowiednią transformację (translację, skalowanie, obrót).

x = sin(t)
y = cos(t)
z = 0

Aby obiekt również obracał się w kierunku swojego ruchu, można wyznaczyć jego macierz lokalnego obrotu konstruując ją z 3 wzajemnie prostopadłych, jednostkowych wektorów.

- Jeden będzie w kierunku do centrum, wokół którego krążymy (punktu 0, 0, 0), czyli: (-sin(t), -cos(t), 0).
- Drugi będzie prostopadły do pierwszego w płaszczyźnie xy. Wektor prostopadły w 2D wyznacza się przez zamianę miejscami komponentów i zanegowanie jednego z nich. Będzie to więc albo (cos(t), -sin(t), 0), albo (-cos(t), sin(t), 0) - wypróbuj, który zadziała.
Trzeci będzie (0, 0, 1) albo (0, 0, -1) - wypróbuj, który zadziała.

Jak już najdziesz kombinację, która powoduje, że obiekt podczas ruchu faktycznie obraca się w tę stronę, co trzeba, a nie w przeciwną, to zostaje jeszcze rozwiązać prawdopodobny problem złej orientacji początkowej - czyli że np. zawsze jest górą albo lewym bokiem do kierunku ruchu, a nie przodem. Aby to naprawić, trzeba zaaplikować jakąś stałą macierz rotacji o 90 stopni wokół jakiejś osi przed zastosowaniem tej bieżącej. To też można wyprowadzić teoretycznie albo znaleźć właściwą metodą prób i błędów :)
27
Matematyka i fizyka / Odp: Obrót obiektu zgodnie z wektorem kierunku
« Ostatnia wiadomość wysłana przez MDW dnia Styczeń 19, 2019, 20:09:59 »
https://stackoverflow.com/questions/349050/calculating-a-lookat-matrix

Oś 'z' to kierunek i interesuje cię z tego tylko część związana z rotacją, a więc macierz 3x3. Powinno styknąć.
Dzięki. A nie będzie tutaj problemu w którym po połowie drigi obiekt się obróci o 180 stopni w osi wektora kierunku? Chodzi mi o ten klasyczny problem przez który najczęściej ludzie przechodzą z macierzy na kwaterniony. 😃
28
Matematyka i fizyka / Odp: Obrót obiektu zgodnie z wektorem kierunku
« Ostatnia wiadomość wysłana przez Kyroaku dnia Styczeń 19, 2019, 17:31:09 »
https://stackoverflow.com/questions/349050/calculating-a-lookat-matrix

Oś 'z' to kierunek i interesuje cię z tego tylko część związana z rotacją, a więc macierz 3x3. Powinno styknąć.
29
Matematyka i fizyka / Obrót obiektu zgodnie z wektorem kierunku
« Ostatnia wiadomość wysłana przez MDW dnia Styczeń 18, 2019, 21:42:56 »
Mam opory przed zawracaniem Wam głowy podstawami i drobiazgami ale tym razem schowam wstyd do szuflady i zapytam, bo mnie coś zaraz chyba trafi. :) Jeżeli jeszcze dzień nad tym posiedzę to chyba zgłoszę się na prześwietlenie głowy żeby sprawdzili czy pod czaszką jest cokolwiek poza powietrzem. :)

No to problem wygląda następująco…

Obiekt porusza się w przestrzeni po krzywej. W każdej chwili mam jego wektor kierunku. No ale nie potrafię poprawnie obracać obiektu tak żeby zawsze był obrócony zgodnie z kierunkiem ruchu.

Dodam, że dużo wiem o tej krzywej, bo obiekt porusza się po orbicie więc krzywa jest okręgiem. Coś tak jakby w grze pt. "Super Stardust" (https://youtu.be/-UPZ3L_MMJ0?t=171). Oczywiście w tej nowej wersji z PlayStation w której akcja dzieje się na powierzchni sfery, a nie w pierwowzorze z Amigi OCS/AGA gdzie wszystko toczy się na płaszczyźnie. Mam więc promień okręgu, mam wektor normalny do okręgu po którym porusza się obiekt i oczywiście wektor kierunku. Mam też kwaternion obrotu ale tylko takiego cząstkowego w danym kroku aktualizacji pozycji.

No i głupi jestem. Przerzucam linki w Google, próbuję różnych rzeczy i ciągle jest źle. Tak mi chodzi po głowie, że wektor ‘up’ zawsze powinien leżeć na prostej od środka sfery do punktu w którym jest obiekt. Ale i tak nic sensownego z tego nie potrafię sklecić.

Może ktoś poratować i rzucić jakimś pomysłem?
30
Szkółka / Odp: [C++] xml dla ustawien gry i savów, jaka biblioteczka?
« Ostatnia wiadomość wysłana przez MDW dnia Styczeń 18, 2019, 20:52:26 »
Do JSONa używam parsera cJSON. Prosty, malutki (jeden C i jeden plik H) i napisany w czystym starym C, dzięki czemu jest portowalny na dosłownie wszystko. A na portowalności bardzo mi zależało.

Tutaj jest ranking chyba ze 40 różnych parserów JSONa:
https://github.com/miloyip/nativejson-benchmark
Wykresy słupkowe różnych cech pozwalają porównać różne parsery i wstępnie się zorientować w tym zbyt dużym wyborze. 😃

Z rankingu wynika, że warto sprawdzić RapidJSON: szybki, malutki, zjada mało pamięci przy parsowaniu. I ktoś mi kiedyś go nawe polecał. Tylko nie pamiętam dlaczego wtedy nie posłuchałem tego kogoś... 🤔
Strony: 1 2 [3] 4 5 6 7 ... 10