Przestrzeń trójwymiarowa

Obiekty i przekształcenia geometryczne, opisane za pomocą układu (nie zawsze prostokątnego) współrzędnych.
Unspoken
Użytkownik
Użytkownik
Posty: 10
Rejestracja: 18 wrz 2009, o 18:44
Płeć: Mężczyzna
Lokalizacja: Gdańsk

Przestrzeń trójwymiarowa

Post autor: Unspoken »

Witam.

Wydaje mi się, że mam bardzo podobne zadanie dlatego nie chciałbym zakładać nowego wątku.
Moje zadanie przedstawia się tak że mam stały punkt \(\displaystyle{ S = \left(0, 0, 0 \right)}\) oraz mam wiele innych różnych punktów w przestrzeni. Punkty te zbliżają się do punktu \(\displaystyle{ S}\) z pewną prędkością \(\displaystyle{ v}\)i w pewnym momencie \(\displaystyle{ T_{i}}\) miną go w najmniejszej odległości. Moim zadaniem jest wyliczyć dla każdego punktu oddzielnie, najwcześniejszy moment \(\displaystyle{ T_{i}}\) dla którego odległość pomiędzy lecącym punktem a punktem \(\displaystyle{ S}\) będzie najmniejsza.

Załóżmy, że mamy takie dane początkowe:
punkt stały \(\displaystyle{ S = \left(0, 0, 0 \right)}\) , punkt poruszający się \(\displaystyle{ A = \left(-6, 1, 0 \right)}\) oraz prędkość tego punktu \(\displaystyle{ v = \left(1, 1, 0 \right)}\)
Zapewne prędkość \(\displaystyle{ v}\) to nic innego jak wektor kierunkowy, który należy zaczepić w punkcie \(\displaystyle{ A}\). Mam racje? Z jego pomocą kreślę prostą \(\displaystyle{ AV}\) a następnie szukam prostej prostopadłej do tej prostej przechodzącej przez punkt \(\displaystyle{ S}\). Punkt przecięcia się tych dwóch prostych (nazwijmy go punktem \(\displaystyle{ B}\)) to będzie punkt od którego odległość do punktu \(\displaystyle{ S}\) jest najmniejsza. Mając punkt \(\displaystyle{ S}\) i punkt \(\displaystyle{ B}\) wyliczę długość odcinka \(\displaystyle{ \left|BS \right|}\) i to będzie najmniejsza odległość w jakiej punkt \(\displaystyle{ A}\) minie punkt \(\displaystyle{ S}\)

A skoro tak to powinienem punkt \(\displaystyle{ A}\) oraz wektor \(\displaystyle{ \vec{v}}\) podstawić do ogólnego równania prostej, które wcześniej zaprezentował scyth:

\(\displaystyle{ \frac{x_1-a_1}{d_1}=\frac{x_2-a_2}{d_2}=\ldots =\frac{x_n-a_n}{d_n}}\) \(\displaystyle{ \rightarrow}\) \(\displaystyle{ \frac{x + 6}{1}=\frac{y - 1}{0}=\frac{z}{0}}\)

Problem w tym, że po podstawieniu \(\displaystyle{ d2 = 0}\) oraz \(\displaystyle{ d3 = 0}\)

Nie wiem jak to ugryźć dalej. Tak jak pisałem wcześniej mogę mieć wiele punktów. Może być taki przypadek, że wektor kierunkowy może zawierać w sobie jedno dwa lub trzy zera i ja muszę każdy taki przypadek uwzględnić.

Z góry dziękuje za poświęcony czas.
Ostatnio zmieniony 27 wrz 2009, o 11:03 przez lukki_173, łącznie zmieniany 3 razy.
Powód: Poprawa wiadomości.
Kamil_B
Użytkownik
Użytkownik
Posty: 1958
Rejestracja: 16 kwie 2009, o 16:56
Płeć: Mężczyzna
Lokalizacja: Wrocław
Pomógł: 361 razy

Przestrzeń trójwymiarowa

Post autor: Kamil_B »

Tak z ciekawości:

A co z przypadkiem np. \(\displaystyle{ A=(4,0,0)}\) prędkość tego punktu \(\displaystyle{ v=(1,0,0)}\), punkt stały \(\displaystyle{ S=(0,0,0)}\) ? Jak wtedy definiujesz najmniejszą odleglość pomiędzy punktem \(\displaystyle{ A}\) a punktem \(\displaystyle{ S}\) ? Po prostu \(\displaystyle{ 0}\) , a czas potrzebny na to to czas na przebycie odcinka \(\displaystyle{ AS}\) z prędkością \(\displaystyle{ v}\) ?

Poza tym w:

\(\displaystyle{ \frac{x + 6}{1}=\frac{y - 1}{0}=\frac{z}{0}}\)

(czyli równaniu kierunkowym prostej) może znajdowac się liczba \(\displaystyle{ 0}\) w mianowniku-ale nie należy jej interpretowac jako dzielenia .
Jeśli jednak to tak bardzo Cie razi to wystarczy przejść na postac parametryczną:

\(\displaystyle{ \frac{x + 6}{1}=\frac{y - 1}{0}=\frac{z}{0}=t}\) gdzie \(\displaystyle{ t \in \mathbb{R}}\)

skąd mamy:

\(\displaystyle{ \begin{cases} x=-6+t \\ y=1 +0\cdot t \\ z=0+0\cdot t \end{cases}}\)

Poza tym przypadek wektora kierunkowego \(\displaystyle{ (0,0,0)}\) jest mało ciekawy-zgodnie z Twoim rozumowaniem taki punkt po prostu sie nie porusza
Unspoken
Użytkownik
Użytkownik
Posty: 10
Rejestracja: 18 wrz 2009, o 18:44
Płeć: Mężczyzna
Lokalizacja: Gdańsk

Przestrzeń trójwymiarowa

Post autor: Unspoken »

Cześć Kamilu:)
Dzięki za odpowiedź
Kamil_B pisze:Tak z ciekawości:

A co z przypadkiem np. \(\displaystyle{ A=(4,0,0)}\) prędkość tego punktu \(\displaystyle{ v=(1,0,0)}\), punkt stały \(\displaystyle{ S=(0,0,0)}\) ? Jak wtedy definiujesz najmniejszą odleglość pomiędzy punktem \(\displaystyle{ A}\) a punktem \(\displaystyle{ S}\) ? Po prostu \(\displaystyle{ 0}\) , a czas potrzebny na to to czas na przebycie odcinka \(\displaystyle{ AS}\) z prędkością \(\displaystyle{ v}\) ?
Tak, najmniejsza odległość będzie równa 0. Ty to wiesz i ja to wiem, bez zbędnych obliczeń Natomiast, ja potrzebuje wzory po to aby przełożyć je na program komputerowy bo komputer tego nie wie;) Natomiast dla przypadku, który podałeś czas będzie równy \(\displaystyle{ 4}\)
ponieważ w czwartym kroku nastąpi najmniejsza odległość pomiędzy tymi dwoma punktami.
Kamil_B pisze: Poza tym w:

\(\displaystyle{ \frac{x + 6}{1}=\frac{y - 1}{0}=\frac{z}{0}}\)

(czyli równaniu kierunkowym prostej) może znajdowac się liczba \(\displaystyle{ 0}\) w mianowniku-ale nie należy jej interpretowac jako dzielenia .
Jeśli jednak to tak bardzo Cie razi to wystarczy przejść na postac parametryczną:

\(\displaystyle{ \frac{x + 6}{1}=\frac{y - 1}{0}=\frac{z}{0}=t}\) gdzie \(\displaystyle{ t \in \mathbb{R}}\)

skąd mamy:

\(\displaystyle{ \begin{cases} x=-6+t \\ y=1 +0\cdot t \\ z=0+0\cdot t \end{cases}}\)
Mnie to nie razi ale komputer będzie raziło bo program zwróci fatalny błąd Skoro nie należy jej interpretować jako dzielenia to jak?;)
Przeszedłeś na postać parametryczna z tym że wprowadziłeś parametr \(\displaystyle{ t}\) ale ja nie wiem co ja mam podstawić za ten parametr aby obliczyć \(\displaystyle{ x,y,z}\) ..
Kamil_B pisze: Poza tym przypadek wektora kierunkowego \(\displaystyle{ (0,0,0)}\) jest mało ciekawy-zgodnie z Twoim rozumowaniem taki punkt po prostu sie nie porusza
Tak ale zrozum, że mój program dostanie kilkaset tysięcy różnych przypadków. I on ma je wszystkie obliczyć i nie patrzeć na to czy przypadek jest ciekawy czy nie

Z góry dzięki za Twój czas, dopomóż jeszcze troszkę
Kamil_B
Użytkownik
Użytkownik
Posty: 1958
Rejestracja: 16 kwie 2009, o 16:56
Płeć: Mężczyzna
Lokalizacja: Wrocław
Pomógł: 361 razy

Przestrzeń trójwymiarowa

Post autor: Kamil_B »

Ogólnie z postacią kierunkową prostej jest, z tego co mi wiadomo, tak że jest to po prostu równanie prostej przechodzącej przez punkt \(\displaystyle{ P=(x_{0},y_{0},z_{0})}\) o wektorze kierunkowym \(\displaystyle{ \vec{v}=(a,b,c)}\) takiej postaci:
\(\displaystyle{ \frac{x-x_{0}}{a}=\frac{y-y_{0}}{b}=\frac{z-z_{0}}{c}}\)
I tyle-to po prostu wzór.
Mimo to łatwo jest przejśc z niej do postaci parametrycznej.
Wystarczy bowiem napisać:
\(\displaystyle{ \frac{x-x_{0}}{a}=\frac{y-y_{0}}{b}=\frac{z-z_{0}}{c}=t}\)
gdzie \(\displaystyle{ t \in \mathbb{R}}\)

skąd:
\(\displaystyle{ \begin{cases} x=x_{0}+at \\ y=y_{0}+bt \\ z=z_{0}+ct \end{cases}}\)
Prosta jak wiadomo jest zbiorem pewnych punktów, zatem aby wyznaczyć \(\displaystyle{ x,y,z}\) parametr \(\displaystyle{ t}\) powinien obejmować wszystkie liczby rzeczywiste, co z oczywistych względów nie jest możliwe.
Moim zdaniem , na szczęscie, nie będzie to konieczne.
Interesuje nas bowiem prosta prostopadła do tej już znalezionej oraz ich punkt przecięcia.
Na początek znajdz równanie tej prostej prostopadłej.
Nie chce tutaj dalej nic sugerować-mogę nie mieć racji oraz nie chce odbierac calej przyjemności z rozwiązania tego problemu (choć mam pewien pomysł)
Unspoken
Użytkownik
Użytkownik
Posty: 10
Rejestracja: 18 wrz 2009, o 18:44
Płeć: Mężczyzna
Lokalizacja: Gdańsk

Przestrzeń trójwymiarowa

Post autor: Unspoken »

Czesc:)

Posiedziałem troszkę i rozwiązałem ten problem

Porzućmy na chwilę tamten przykład i zmieńmy nieco dane początkowe(najpierw tym sposobem obliczyłem tamten przypadek a później chciałem sprawdzić inny).

\(\displaystyle{ A = ( \frac{5}{4} , \frac{14}{4} , \frac{4}{4} ) S = (0,0,0) \vec{v} = ( \frac{4}{4} , -\frac{6}{4} , -\frac{2}{4} )}\)

podstawiając to do prostej parametrycznej otrzymujemy:

\(\displaystyle{ \frac{x - \frac{5}{4} }{1} = \frac{y - \frac{14}{4} }{ -\frac{6}{4} } = \frac{z - 1}{ \frac{2}{4} } = t}\)

no i wyliczamy sobie \(\displaystyle{ x, y, x}\)

\(\displaystyle{ \begin{cases} \frac{x - \frac{5}{4}}{1} = t \\ \frac{y - \frac{14}{4} }{ -\frac{6}{4} } = t \\ \frac{z - 1}{ \frac{2}{4}} = t\end{cases} \rightarrow \begin{cases} x = t + \frac{5}{4} \\ y = - \frac{6}{4}t + \frac{14}{4} \\ z= \frac{2}{4}t + 1 \end{cases}}\)

A wiec mamy punkt \(\displaystyle{ B}\) o współrzędnych \(\displaystyle{ x,y,z}\) jak powyżej uzależnionych od parametru \(\displaystyle{ t}\)

Wektor \(\displaystyle{ SB}\) przechodzący przez te dwa punkty będzie opisany w ten sam sposób ponieważ \(\displaystyle{ S = (0,0,0)}\)

Aby uwolnić się od parametru \(\displaystyle{ t}\) i finalnie wyliczyć \(\displaystyle{ B}\) korzystamy z iloczynu skalarnego dwóch wektorów, które są prostopadłe gdy ich iloczyn jest równy \(\displaystyle{ 0}\).
\(\displaystyle{ \vec{v} \cdot \vec{SB} = 1 * \left(t + \frac{5}{4} \right) + - \frac{6}{4} * \left(- \frac{6}{4}t + \frac{14}{4} \right) + \frac{2}{4} * \left(\frac{2}{4}t + 1 \right)}\)

Po obliczeniu wychodzi nam, że \(\displaystyle{ t = 1}\)

Teraz musimy podstawić \(\displaystyle{ t}\) do wcześniej wyliczonych zmiennych \(\displaystyle{ x,y,z}\) i otrzymujemy:

\(\displaystyle{ x = 2.25 y = 2 z = 1.5}\) czyli punkt \(\displaystyle{ B}\) ma współrzędne \(\displaystyle{ B = (2.25, 2, 1.5)}\)

Najmniejsza odległość czyli długość odcinka \(\displaystyle{ \left|BS \right| = \sqrt{ 2.25^{2}+ 2^{2}+ 1.5^{2} } \approx 3,36340601}\)

Krok \(\displaystyle{ t_{i}}\) w którym punkt \(\displaystyle{ A}\) osiągnie tą odległość to będzie długość odcinka \(\displaystyle{ \left|AB \right|}\) podzielona na długość odcinka \(\displaystyle{ \left|AC \right|}\) gdzie punkt \(\displaystyle{ C}\) to będzie położenie punkt \(\displaystyle{ A}\) w kroku \(\displaystyle{ t_{1}}\).

\(\displaystyle{ C = A + A * \vec{v} = \left( \frac{5}{4} + \frac{5}{4} * 1, \frac{14}{4} + \frac{14}{4} * - \frac{6}{4} , 1 + 1 * -\frac{2}{4}\right) = \left( \frac{10}{4}, -\frac{7}{4}, -\frac{2}{4} \right)}\)

Odległość \(\displaystyle{ left|AC
ight| = sqrt{ left(frac{10}{4} - frac{5}{4}
ight) ^{2} + left(frac{10}{4} - frac{5}{4}
ight) ^{2}}

hmmm... z tym punktem \(\displaystyle{ C}\) to coś mi się nie zgadza

trza będzie jeszcze pomyśleć...}\)
ODPOWIEDZ