Rzutowanie bryły na płaszczyznę.

Obiekty i przekształcenia geometryczne, opisane za pomocą układu (nie zawsze prostokątnego) współrzędnych.
NPS
Użytkownik
Użytkownik
Posty: 63
Rejestracja: 29 maja 2007, o 21:05
Płeć: Mężczyzna
Podziękował: 5 razy
Pomógł: 2 razy

Rzutowanie bryły na płaszczyznę.

Post autor: NPS »

Nie wiem, czy dobrze nazwałem topic, no ale mniejsza. Mam bryłę 3D i chcę ją zrzutować na dowolną płaszczyznę. Konkretnie - mam współrzędne jej wierzchołków i je chcę zrzutować. Chcę mieć jeden punkt (poza bryłą), z którego będą wychodziły linie (pomocnicze - nie będzie ich widać) przechodzące przez wierzchołki bryły. Linie te będą się przecinały w pewnym momencie z wybraną płaszczyzną. Chodzi mi o ustalenie punktów tych przecięć. Mam nadzieję, że wiecie, o co mi chodzi. Mało tego - chcę to zrobić na komputerze, czyli potrzebne mi są gotowe wzory na współrzędne wierzchołków po rzutowaniu. Są dwie opcje - ktoś będzie tak dobry i mi poda gotowe wzory albo zaczniecie mnie naprowadzać w ich kierunku i podacie jakieś pośrednie wzory. Przyda mi się każda pomoc.
miodzio1988

Rzutowanie bryły na płaszczyznę.

Post autor: miodzio1988 »

post442364.htm?hilit=rzut%20punktu%20na#p442364

Na przykład. Opcja szukaj na forum albo google załatwią sprawe.
NPS
Użytkownik
Użytkownik
Posty: 63
Rejestracja: 29 maja 2007, o 21:05
Płeć: Mężczyzna
Podziękował: 5 razy
Pomógł: 2 razy

Rzutowanie bryły na płaszczyznę.

Post autor: NPS »

No dzięki... tylko że ja nie chcę rzutu prostokątnego. Może konkretnie - mam źródło światła i jak światło pada na bryłę, to bryła rzuca cień. Aby obliczyć ten cień, można wykonać takie rzutowanie na dowolną płaszczyznę: promienie światła wychodzą ze źródła, przechodzą przez wierzchołki bryły i padają na płaszczyznę. Czyli wszystkie linie wychodzą z jednego punktu (źródła światła), przechodzą przez wierzchołki bryły i padają na powierzchnię. I chodzi mi o znalezienie punktów na płaszczyźnie. Teraz rozumiesz/cie, o co mi chodzi?

To się chyba nazywa rzut środkowy. Ale głowy nie dam.
Użytkownik
Użytkownik
Posty: 9833
Rejestracja: 18 gru 2007, o 03:54
Płeć: Mężczyzna
Lokalizacja: Bydgoszcz
Podziękował: 90 razy
Pomógł: 2632 razy

Rzutowanie bryły na płaszczyznę.

Post autor: »

Niech \(\displaystyle{ (a,b,c)}\) będzie punktem "z którego patrzymy" oraz niech \(\displaystyle{ (x,y,z)}\) będzie dowolnym punktem "na który patrzymy". Załóżmy też, że "cień" ma padać na płaszczyznę \(\displaystyle{ OXY}\). I jeszcze dodatkowo załóżmy, że oba te punkty nie leżą na jednej wysokości, tzn. \(\displaystyle{ c\neq z}\).

Wtedy współrzędne "cienia" to:
\(\displaystyle{ \left( a - c \cdot \frac{x-a}{z-c}, b -c \cdot \frac{y-b}{z-c}, 0 \right)}\)

Q.
NPS
Użytkownik
Użytkownik
Posty: 63
Rejestracja: 29 maja 2007, o 21:05
Płeć: Mężczyzna
Podziękował: 5 razy
Pomógł: 2 razy

Rzutowanie bryły na płaszczyznę.

Post autor: NPS »

Qń, jeśli a = c, to pierwsza współrzędna cienia zawsze będzie równa 0? Niezależnie od tego, jaki punkt rzuca ten cień? Analogicznie z drugą współrzędną. Coś mi się tu nie zgadza.

Dobra, może inaczej - 1. jak znaleźć równanie prostej przechodzącej przez 2 punkty w 3D i 2. jak znaleźć punkt przecięcia prostej z zadaną płaszczyzną? Bo do tego się to sprowadza.
Użytkownik
Użytkownik
Posty: 9833
Rejestracja: 18 gru 2007, o 03:54
Płeć: Mężczyzna
Lokalizacja: Bydgoszcz
Podziękował: 90 razy
Pomógł: 2632 razy

Rzutowanie bryły na płaszczyznę.

Post autor: »

NPS pisze:Qń, jeśli a = c, to pierwsza współrzędna cienia zawsze będzie równa 0?
Nie, tam nie ma nawiasu, a kolejność działań jest taka, że najpierw wykonuje się mnożenie, a potem dopiero odejmowanie. Czyli najpierw mnożysz ten ułamek przez c, a potem dopiero odejmujesz całość od a.

Q.
NPS
Użytkownik
Użytkownik
Posty: 63
Rejestracja: 29 maja 2007, o 21:05
Płeć: Mężczyzna
Podziękował: 5 razy
Pomógł: 2 razy

Rzutowanie bryły na płaszczyznę.

Post autor: NPS »

Dobra, dzięki. Ale w dalszym ciągu proszę o odpowiedź na moje dwa pytania z poprzedniego postu.
Użytkownik
Użytkownik
Posty: 9833
Rejestracja: 18 gru 2007, o 03:54
Płeć: Mężczyzna
Lokalizacja: Bydgoszcz
Podziękował: 90 razy
Pomógł: 2632 razy

Rzutowanie bryły na płaszczyznę.

Post autor: »

Ok, to teraz na dowolną płaszczyznę \(\displaystyle{ Ax+By+Cy+D=0}\).
Punkt obserwatora: \(\displaystyle{ (a,b,c)}\)
Punkt obserwowany: \(\displaystyle{ (p,q,r)}\)

Prosta łącząca punkt obserwatora i punkt obserwowany ma równanie:
\(\displaystyle{ (a,b,c) + t \cdot (p-a,q-b,r-c)}\), czyli:
\(\displaystyle{ \begin{cases} x = a + t(p-a) \\
y= b+ t(q-b) \\
z = c+ t(r-c) \end{cases}}\)


Jeśli pytamy o punkt przecięcia tej prostej z zadaną płaszczyzną, to musimy po prostu znaleźć takie \(\displaystyle{ t}\), żeby powyższy stwór spełniał równanie płaszczyzny. Mamy więc:

\(\displaystyle{ A(a + t(p-a)) +B(b+ t(q-b))+C( c+ t(r-c))+D=0 \\
t(Ap-Aa + Bq-Bb + Cr-Cc) = -D-Aa-Bb-Cc}\)


Można pokazać, że ten nawias się zeruje wtedy i tylko wtedy prosta łącząca obserwatora i obserwowanego jest równoległa do płaszczyzny, czyli w przypadku, który nas nie interesuje. W pozostałych przypadkach jest:
\(\displaystyle{ t=-\frac{D+Aa+Bb+Cc}{Ap-Aa + Bq-Bb + Cr-Cc}}\)

Stąd ostatecznie nasz "cień" to:

\(\displaystyle{ \begin{cases} x = a -\frac{(p-a)(D+Aa+Bb+Cc)}{Ap-Aa + Bq-Bb + Cr-Cc} \\ \\
y= b- \frac{(q-b)(D+Aa+Bb+Cc)}{Ap-Aa + Bq-Bb + Cr-Cc}\\ \\
z = c- \frac{(r-c)(D+Aa+Bb+Cc)}{Ap-Aa + Bq-Bb + Cr-Cc} \end{cases}}\)


Poprzedni, szczególny przypadek tego wzoru to ten, w którym \(\displaystyle{ A=B=D=0, C=1}\)

Q.
NPS
Użytkownik
Użytkownik
Posty: 63
Rejestracja: 29 maja 2007, o 21:05
Płeć: Mężczyzna
Podziękował: 5 razy
Pomógł: 2 razy

Rzutowanie bryły na płaszczyznę.

Post autor: NPS »

Wielkie dzięki.
ODPOWIEDZ