Czy punkt leży wewnątrz czworokąta w przestrzeni 3D?

Sześciany. Wielościany. Kule. Inne bryły. Zadania i twierdzenia z nimi związane. Geometria rzutowa w przestrzeni.
Vill
Użytkownik
Użytkownik
Posty: 50
Rejestracja: 29 mar 2009, o 19:36
Płeć: Kobieta
Podziękował: 12 razy

Czy punkt leży wewnątrz czworokąta w przestrzeni 3D?

Post autor: Vill »

Potrzebuję jakiś szybki i prosty sposób na sprawdzenie, czy punkt \(\displaystyle{ (x,y,z)}\) należy do prostokąta zadanego wierzchołkami \(\displaystyle{ (x,y,z)}\). Potrzebuję to do programu, który piszę. Mój pierwszy pomysł był taki, żeby porównywać, czy wartości \(\displaystyle{ x,y}\) punktu są mniejsze/większe od współrzędnych wierzchołków, ale to nie będzie chyba uniwersalne da dowolnie obróconego wielokąta. Nie wiem czy też sprawdzanie wszystkich współrzędnych przy dowolnym obrocie da dobre wyniki. Jest na to jakiś sposób?

Układ współrzędnych: \(\displaystyle{ x,y}\) normalnie, oś z zwrócona do obserwatora.
Ostatnio zmieniony 3 lip 2014, o 16:47 przez leszczu450, łącznie zmieniany 1 raz.
Powód: Całe wyrażenia matematyczne umieszczaj w tagach [latex] [/latex].
Awatar użytkownika
mdd
Użytkownik
Użytkownik
Posty: 1897
Rejestracja: 14 kwie 2013, o 10:58
Płeć: Mężczyzna
Lokalizacja: Warszawa
Podziękował: 2 razy
Pomógł: 512 razy

Czy punkt leży wewnątrz czworokąta w przestrzeni 3D?

Post autor: mdd »

Vill pisze:czy punkt \(\displaystyle{ (x,y,z)}\) należy do prostokąta zadanego wierzchołkami \(\displaystyle{ (x,y,z)}\).
Oznaczmy przez \(\displaystyle{ P}\) - punkt, którego położenie względem prostokąta w trójwymiarowej przestrzeni badamy.

1) W pierwszej kolejności trzeba sprawdzić czy dany punkt \(\displaystyle{ P}\) należy do płaszczyzny wyznaczonej przez prostokąt.
2) Trzeba zidentyfikować przeciwległe boki prostokąta i obliczyć ich długości.
3) Trzeba obliczyć odległość punktu \(\displaystyle{ P}\) od prostych wyznaczonych przez boki prostokąta.

Punkt \(\displaystyle{ P}\) należy do prostokąta jeśli suma odległości punktu \(\displaystyle{ P}\) od prostych wyznaczonych przez przeciwległe boki prostokąta jest równa odległości między tymi dwiema prostymi (a ta odległość oczywiście jest równa długości odpowiedniego boku prostokąta).

Chyba nie można takiego algorytmu uznać za szybki. Chętnie poznam szybszą procedurę.
Vill
Użytkownik
Użytkownik
Posty: 50
Rejestracja: 29 mar 2009, o 19:36
Płeć: Kobieta
Podziękował: 12 razy

Czy punkt leży wewnątrz czworokąta w przestrzeni 3D?

Post autor: Vill »

Takie proste, że aż mi głupio, że na to nie wpadłam, dzięki!

Znalazłam tutaj w innym temacie fajny wzór na odległość punktu od prostej w 3D tylko nie wiem na ile on jest poprawny, nigdzie indziej takiego wzoru nie widziałam. I moje pytanie, czy on jest poprawny? A jeżeli nie, czy istnieje inny poprawny bazujący na wektorach i iloczynach skalarnych/wektorowych?
znajdź dwa punkty prostej \(\displaystyle{ P}\) i \(\displaystyle{ Q}\).
Wyznacz wektor \(\displaystyle{ PQ}\) równoległy do prostej. Niech nasz punkt nazywa się \(\displaystyle{ R}\).
Wyznacz wektor \(\displaystyle{ PR}\).
Odległość punktu \(\displaystyle{ R}\) od prostej oblicz ze wzoru:
\(\displaystyle{ d= \frac{ \left| \vec{PQ} \times \vec{PR}\right| }{\left| \vec{PQ} \right|}}\)
Idealnie by się nadawał, bo wszystkie dane i struktury do policzenia tego mam i zmieściłabym się z tym w jednej linijce kodu.

EDIT: Wzór jest poprawny.
ODPOWIEDZ