Rzutowanie bryły na płaszczyznę.
-
- 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ę.
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ę.
post442364.htm?hilit=rzut%20punktu%20na#p442364
Na przykład. Opcja szukaj na forum albo google załatwią sprawe.
Na przykład. Opcja szukaj na forum albo google załatwią sprawe.
-
- 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ę.
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.
To się chyba nazywa rzut środkowy. Ale głowy nie dam.
-
- 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ę.
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.
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.
-
- 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ę.
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.
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
- 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ę.
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.NPS pisze:Qń, jeśli a = c, to pierwsza współrzędna cienia zawsze będzie równa 0?
Q.
-
- 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ę.
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.
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.