Wyznaczanie punktu mając inny punkt, jego wektor i odległość

Obiekty i przekształcenia geometryczne, opisane za pomocą układu (nie zawsze prostokątnego) współrzędnych.
yoana91
Użytkownik
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ść

Post autor: yoana91 »

Jak można wyznaczyć punkt A(x,y,z), mając podany punkt B(x,y,z), jego wektor i odległość od punktu A?
a4karo
Użytkownik
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ść

Post autor: a4karo »

Co to jest wektor punktu?
yoana91
Użytkownik
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ść

Post autor: yoana91 »

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.

a4karo
Użytkownik
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ść

Post autor: a4karo »

NAjprosciej przesun wszystko tak, zeby \(\displaystyle{ B}\) leżał w poczatku układu wspolrzednych
yoana91
Użytkownik
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ść

Post autor: yoana91 »

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.
a4karo
Użytkownik
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ść

Post autor: a4karo »

Nie do końca: ten wektor ma już jakąś długość
yoana91
Użytkownik
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ść

Post autor: yoana91 »

w moim przypadku jest już znormalizowany, więc to powinno rozwiązywać problem
a4karo
Użytkownik
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ść

Post autor: a4karo »

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
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ść

Post autor: yoana91 »

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.
a4karo
Użytkownik
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ść

Post autor: a4karo »

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
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ść

Post autor: yoana91 »

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
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ść

Post autor: a4karo »

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
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ść

Post autor: yoana91 »

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