Strona 1 z 1

Rzutowanie bryły na płaszczyznę.

: 13 sie 2009, o 23:11
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.

Rzutowanie bryły na płaszczyznę.

: 13 sie 2009, o 23:16
autor: miodzio1988
post442364.htm?hilit=rzut%20punktu%20na#p442364

Na przykład. Opcja szukaj na forum albo google załatwią sprawe.

Rzutowanie bryły na płaszczyznę.

: 13 sie 2009, o 23:24
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.

Rzutowanie bryły na płaszczyznę.

: 13 sie 2009, o 23:36
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.

Rzutowanie bryły na płaszczyznę.

: 14 sie 2009, o 09:40
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.

Rzutowanie bryły na płaszczyznę.

: 14 sie 2009, o 11:33
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.

Rzutowanie bryły na płaszczyznę.

: 14 sie 2009, o 12:37
autor: NPS
Dobra, dzięki. Ale w dalszym ciągu proszę o odpowiedź na moje dwa pytania z poprzedniego postu.

Rzutowanie bryły na płaszczyznę.

: 14 sie 2009, o 13:57
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.

Rzutowanie bryły na płaszczyznę.

: 14 sie 2009, o 18:39
autor: NPS
Wielkie dzięki.