Jak sprawdzić, czy odcinek przecina płaszczyzne (trójkąt).

Obiekty i przekształcenia geometryczne, opisane za pomocą układu (nie zawsze prostokątnego) współrzędnych.
lolks123
Użytkownik
Użytkownik
Posty: 149
Rejestracja: 10 sty 2009, o 23:48
Płeć: Mężczyzna
Lokalizacja: brak
Pomógł: 5 razy

Jak sprawdzić, czy odcinek przecina płaszczyzne (trójkąt).

Post autor: lolks123 »

Witam! Mam problem, mógłby mi ktoś powiedzieć, jak wyliczyć, mając dane 3 wierzchołki trójkąta oraz 2 wierzchołki odcinka (początek i koniec) w trójwymiarze, czy ten odcinek przecina daną płaszczyznę ? Jest to mi bardzo potrzebne do wyliczenia w grze, czy następuje kolizja ze ścianą :/

Pozdrawiam.
BettyBoo
Użytkownik
Użytkownik
Posty: 5356
Rejestracja: 10 kwie 2009, o 10:22
Płeć: Kobieta
Lokalizacja: Gliwice
Pomógł: 1381 razy

Jak sprawdzić, czy odcinek przecina płaszczyzne (trójkąt).

Post autor: BettyBoo »

Chodzi o płaszczyznę wyznaczoną przez trójkąt? Czy o sam trójkąt? I co znaczy przecina? Czy może leżeć w tej samej płaszczyźnie czy ma być dokładnie jeden punkt wspólny?

Pozdrawiam.
lolks123
Użytkownik
Użytkownik
Posty: 149
Rejestracja: 10 sty 2009, o 23:48
Płeć: Mężczyzna
Lokalizacja: brak
Pomógł: 5 razy

Jak sprawdzić, czy odcinek przecina płaszczyzne (trójkąt).

Post autor: lolks123 »

Te 3 punkty wyznaczają płaszczyznę, chodzi mi o to, czy odcinek wyznaczony przez te 2 punkty, przecina daną płaszczyznę, czyli w takiej sytuacji:


/
*A /
/ *B
-------

W takiej sytuacji odcinek przecina płaszczyznę

Pozdrawiam.

EDIT// Trochę mi rozrzuciło ten trójkąt :/ Zacytujcie mój post to zobaczycie o co chodzi
BettyBoo
Użytkownik
Użytkownik
Posty: 5356
Rejestracja: 10 kwie 2009, o 10:22
Płeć: Kobieta
Lokalizacja: Gliwice
Pomógł: 1381 razy

Jak sprawdzić, czy odcinek przecina płaszczyzne (trójkąt).

Post autor: BettyBoo »

Niestety nadal nie wiem, o co Ci chodzi, bo "rysunek" jest w 2 wymiarach, a Ty piszesz o 3.

Rozumiem, że Ty doskonale znasz swój problem, ale ja nie jestem w stanie Ci nic sensownego odpowiedzieć, póki nie zrozumiem, o co Ci tak naprawdę chodzi...

Ponawiam swoje pytania: Czy jest możliwa sytuacja, że ten odcinek leży na tej samej płaszczyźnie co trójkąt czy nie jest? Chodzi o to, aby punkt wspólny wypadał "wewnątrz" trójkąta, czy gdziekolwiek na płaszczyźnie wyznaczonej przez ten trójkąt?

Pozdrawiam.
Awatar użytkownika
tim
Użytkownik
Użytkownik
Posty: 533
Rejestracja: 9 maja 2009, o 18:12
Płeć: Mężczyzna
Lokalizacja: Gdynia
Podziękował: 3 razy
Pomógł: 77 razy

Jak sprawdzić, czy odcinek przecina płaszczyzne (trójkąt).

Post autor: tim »

Ja spróbuję. Masz węża w grze i masz trójkątną ścianę. Jak wąż (odcinek) wpadnie w ścianę to koniec gry.
lolks123
Użytkownik
Użytkownik
Posty: 149
Rejestracja: 10 sty 2009, o 23:48
Płeć: Mężczyzna
Lokalizacja: brak
Pomógł: 5 razy

Jak sprawdzić, czy odcinek przecina płaszczyzne (trójkąt).

Post autor: lolks123 »

Raczej ten odcinek i trójkąt nie leżą w tej samej płaszczyźnie.
BettyBoo
Użytkownik
Użytkownik
Posty: 5356
Rejestracja: 10 kwie 2009, o 10:22
Płeć: Kobieta
Lokalizacja: Gliwice
Pomógł: 1381 razy

Jak sprawdzić, czy odcinek przecina płaszczyzne (trójkąt).

Post autor: BettyBoo »

No fajnie, ale to o czym tym razem pisze tim dotyczy dwóch wymiarów, a nie trzech i to nieco inny problem niż ten postawiony w pierwszym poście...

Problem trzeba umieć sformułować - ja nie zamierzam zgadywać, na czym on polega.

Zatem, albo dowiem się co tu jest dane, co chcecie otrzymać i na czym właściwie polega problem albo to mój ostatni post w tym wątku..

Pozdrawiam.
Awatar użytkownika
tim
Użytkownik
Użytkownik
Posty: 533
Rejestracja: 9 maja 2009, o 18:12
Płeć: Mężczyzna
Lokalizacja: Gdynia
Podziękował: 3 razy
Pomógł: 77 razy

Jak sprawdzić, czy odcinek przecina płaszczyzne (trójkąt).

Post autor: tim »

Chodziło o ludzika w grze 3D. Idziesz sobie pokojem, masz ścianę. Dobra, ja już nic nie mówię.
lolks123
Użytkownik
Użytkownik
Posty: 149
Rejestracja: 10 sty 2009, o 23:48
Płeć: Mężczyzna
Lokalizacja: brak
Pomógł: 5 razy

Jak sprawdzić, czy odcinek przecina płaszczyzne (trójkąt).

Post autor: lolks123 »

Zrobiłem rysunek, mam podane wszystkie współrzędne, jak sprawdzić, czy przecinają trójkąt ? W tym przypadku oczywiście przecinają:
AU
AU
14975v9.jpg (15.25 KiB) Przejrzano 182 razy
BettyBoo
Użytkownik
Użytkownik
Posty: 5356
Rejestracja: 10 kwie 2009, o 10:22
Płeć: Kobieta
Lokalizacja: Gliwice
Pomógł: 1381 razy

Jak sprawdzić, czy odcinek przecina płaszczyzne (trójkąt).

Post autor: BettyBoo »

Ok, problem rozumiem.

To teraz - czy są jakiekolwiek dodatkowe zależności między trójkątem i odcinkiem, które ułatwią rozwiązanie tego zadania? Np. czy trójkąt jest zawsze prostokątny a odcinek zawsze prostopadły do płaszczyzny wyznaczonej przez ten trójkąt? Czy jakieś inne zależności są?

Pozdrawiam.
lolks123
Użytkownik
Użytkownik
Posty: 149
Rejestracja: 10 sty 2009, o 23:48
Płeć: Mężczyzna
Lokalizacja: brak
Pomógł: 5 razy

Jak sprawdzić, czy odcinek przecina płaszczyzne (trójkąt).

Post autor: lolks123 »

Niestety, mam tylko to, co podałem, współrzędne tych punktów, nic więcej.

Pozdrawiam.
BettyBoo
Użytkownik
Użytkownik
Posty: 5356
Rejestracja: 10 kwie 2009, o 10:22
Płeć: Kobieta
Lokalizacja: Gliwice
Pomógł: 1381 razy

Jak sprawdzić, czy odcinek przecina płaszczyzne (trójkąt).

Post autor: BettyBoo »

Chwilowo do głowy przychodzi mi taki sposób (możesz to sobie wyliczyć, żeby sprawdzać tylko końcowy warunek, ja Ci podam sposób dojścia do niego, bo jakoś liczyć mi się nie bardzo chce, skoro to wszystko na ogólnych wzorach musi być...)

1) znajdujesz punkt wspólny płaszczyzny zawierającej trójkąt \(\displaystyle{ XYZ}\) i prostej zawierającej odcinek \(\displaystyle{ AB}\), nazwijmy go \(\displaystyle{ C}\).

2) tworzysz prostą \(\displaystyle{ k}\) zawierającą \(\displaystyle{ C}\) i równoległą do \(\displaystyle{ \vec{YZ}}\)

3) szukasz punktów wspólnych, a właściwie to tylko wartości parametrów w postaci parametrycznej, prostej \(\displaystyle{ k}\) z prostymi zawierającymi punkty \(\displaystyle{ X,Y}\) oraz \(\displaystyle{ X,Z}\); jeśli wszystkie trzy wartości parametrów należą do przedziału (0,1), to punkt wspólny leży wewnątrz trójkąta.

Pozdrawiam.
ODPOWIEDZ