Wyznaczanie punktu mając inny punkt, jego wektor i odległość
-
yoana91
- Użytkownik

- Posty: 357
- Rejestracja: 17 mar 2009, o 20:26
- Płeć: Kobieta
- Podziękował: 59 razy
- Pomógł: 1 raz
Wyznaczanie punktu mając inny punkt, jego wektor i odległość
To raczej zadanie programistyczne źle przełożyłam. Muszę wyznaczyć punkt A(x,y,z) który leży w danej odległości od środka kamery B(x,y,z), której forward/direction wektor również jest podany.
Prościej mówiąc, muszę wyznaczyć punkt leżący na prostej wyznaczonej przez wektor, znajdujący się w danej odległości od innego punktu leżącego również na tej prostej.
Prościej mówiąc, muszę wyznaczyć punkt leżący na prostej wyznaczonej przez wektor, znajdujący się w danej odległości od innego punktu leżącego również na tej prostej.
-
a4karo
- Użytkownik

- Posty: 22487
- Rejestracja: 15 maja 2011, o 20:55
- Płeć: Mężczyzna
- Lokalizacja: Bydgoszcz
- Podziękował: 44 razy
- Pomógł: 3858 razy
Wyznaczanie punktu mając inny punkt, jego wektor i odległość
NAjprosciej przesun wszystko tak, zeby \(\displaystyle{ B}\) leżał w poczatku układu wspolrzednych
-
yoana91
- Użytkownik

- Posty: 357
- Rejestracja: 17 mar 2009, o 20:26
- Płeć: Kobieta
- Podziękował: 59 razy
- Pomógł: 1 raz
Wyznaczanie punktu mając inny punkt, jego wektor i odległość
Bez znaczenia, niech B leży w początku.
Wydaje mi się, że powinnam otrzymać wynik mnożąc wektor przez odległość + dodając pozycję kamery.
Wydaje mi się, że powinnam otrzymać wynik mnożąc wektor przez odległość + dodając pozycję kamery.
-
a4karo
- Użytkownik

- Posty: 22487
- Rejestracja: 15 maja 2011, o 20:55
- Płeć: Mężczyzna
- Lokalizacja: Bydgoszcz
- Podziękował: 44 razy
- Pomógł: 3858 razy
Wyznaczanie punktu mając inny punkt, jego wektor i odległość
Oczywiście. Na przyszłość podawaj pełną informację w zadaniu. Zaoszczędzilibyśmy trochę czasu i min. dwóch postów, nieprawdaż?
-
yoana91
- Użytkownik

- Posty: 357
- Rejestracja: 17 mar 2009, o 20:26
- Płeć: Kobieta
- Podziękował: 59 razy
- Pomógł: 1 raz
Wyznaczanie punktu mając inny punkt, jego wektor i odległość
Prawda, przyznaję.
Niestety dostaję złe wyniki używając tej metody, może ktoś zauważy, gdzie popełniam błąd, jeśli napiszę tutaj swoje obliczenia.
Pozycja kamery: \(\displaystyle{ B\left( 0, -36.35567, 0\right)}\)
Wektor kierunkowy kamery: \(\displaystyle{ \vec{u}=\left[ -0.000297926221, -0.999998, 0.00171965268\right]}\)
odległość szukanego pkt'u od kamery: \(\displaystyle{ x=25}\)
Obliczenia:
Mnożę wektor * odległość: \(\displaystyle{ \vec{u} \cdot x = \left[ -0.00744815543, -24.9999485, 0.0429913178\right]}\)
Dodaję pozycję kamery do nowego wektora: \(\displaystyle{ \vec{u} + B = \left[ -0.00744815543, -61.35562, 0.0429913178\right]}\)
Sprawdzam rozwiązanie w programie do modelowania 3D i wynik absolutnie się nie zgadza. Już patrząc na dane wyjściowe można łatwo zauważyć, że współrzędna Y powinna być w granicach -11, bo odległość od kamery wynosi 25. Bardzo proszę o pomoc.
Niestety dostaję złe wyniki używając tej metody, może ktoś zauważy, gdzie popełniam błąd, jeśli napiszę tutaj swoje obliczenia.
Pozycja kamery: \(\displaystyle{ B\left( 0, -36.35567, 0\right)}\)
Wektor kierunkowy kamery: \(\displaystyle{ \vec{u}=\left[ -0.000297926221, -0.999998, 0.00171965268\right]}\)
odległość szukanego pkt'u od kamery: \(\displaystyle{ x=25}\)
Obliczenia:
Mnożę wektor * odległość: \(\displaystyle{ \vec{u} \cdot x = \left[ -0.00744815543, -24.9999485, 0.0429913178\right]}\)
Dodaję pozycję kamery do nowego wektora: \(\displaystyle{ \vec{u} + B = \left[ -0.00744815543, -61.35562, 0.0429913178\right]}\)
Sprawdzam rozwiązanie w programie do modelowania 3D i wynik absolutnie się nie zgadza. Już patrząc na dane wyjściowe można łatwo zauważyć, że współrzędna Y powinna być w granicach -11, bo odległość od kamery wynosi 25. Bardzo proszę o pomoc.
-
a4karo
- Użytkownik

- Posty: 22487
- Rejestracja: 15 maja 2011, o 20:55
- Płeć: Mężczyzna
- Lokalizacja: Bydgoszcz
- Podziękował: 44 razy
- Pomógł: 3858 razy
Wyznaczanie punktu mając inny punkt, jego wektor i odległość
Wszystko jest OK. jak popatrzysz wdłuż osi OY, to kamera stoi z tyłu (-36...) i patrzy w tył (-25), wiec widzi punkt -61. Gdyby patrzyła w drugą stronę, to wyszłoby ok -11. (chyba, że nie rozumiem co to jest forward vector.
-
yoana91
- Użytkownik

- Posty: 357
- Rejestracja: 17 mar 2009, o 20:26
- Płeć: Kobieta
- Podziękował: 59 razy
- Pomógł: 1 raz
Wyznaczanie punktu mając inny punkt, jego wektor i odległość
Hmmm to prawda... ale bardzo dziwne, bo w programie do modelowania kamera stoi zwrócona w kierunku początku układu... W takim razie nie w obliczeniach tkwi problem. Tak czy inaczej, dziękuję za pomoc.
-
a4karo
- Użytkownik

- Posty: 22487
- Rejestracja: 15 maja 2011, o 20:55
- Płeć: Mężczyzna
- Lokalizacja: Bydgoszcz
- Podziękował: 44 razy
- Pomógł: 3858 razy
Wyznaczanie punktu mając inny punkt, jego wektor i odległość
Jak jest zwrócona w stronę początku układu, to druga współrzędna wektora powinna być dodatnia (tak na mój gust)
-
yoana91
- Użytkownik

- Posty: 357
- Rejestracja: 17 mar 2009, o 20:26
- Płeć: Kobieta
- Podziękował: 59 razy
- Pomógł: 1 raz
Wyznaczanie punktu mając inny punkt, jego wektor i odległość
Dlatego właśnie się dziwię, bo te współrzędne biorę z pliku, do którego wyeksportowałam całą animację. Pozostaje mi dokładnie zbadać format.