ROZWIAZANE JUZ
no to tak chcialem sobie znalezc rzut pionowy punktu na plaszczyzne opisana za pomoca puntow XYZ
przez rzut ptionowy mam na mysli rzut rownoleglu do osi Y
no wiadomo ze wektor kierunkowy takiego rzutu to [0,1,0] ale zeby bylo formalnie policzymy wzorami
niech A bedzie punktem w przestrzeni, B punktem znajdujacym sie o 'a' jednosttek nizej, aby stworzyc rzut
pionowy
\(\displaystyle{ A=(x1, y1, z1)}\)
\(\displaystyle{ B=(x1, y1 - a, z1)}\)
za 'a' mozemy podstawic sobie jedynke dla uproszczenia obliczen
\(\displaystyle{ B=(x1, y1 - 1, z1)}\)
wektor \(\displaystyle{ \vec{AB}}\) bedzie wektorem kierunkowym prostej
\(\displaystyle{ \vec{AB}=[x1-x1, y1 - 1 -y1, z1-z1]=[0,-1,0]}\)
wtedy wzor takiej prostej okreslamy
\(\displaystyle{ L = \begin{cases} x = 0 \times t + x1 \\ y = -1 \times t + y1 \\ z = 0 \times t + z1 \end{cases}}\)
\(\displaystyle{ \begin{cases} x = x1 \\ y = -t + y1 \\ z = z1 \end{cases}}\)
no to aby punkt przecinal prosta z plaszczyzna musi spelniac uklad
\(\displaystyle{ \begin{cases} x = x1 \\ y = -t + y1 \\ z = z1 \\ Ax + By + Cz + D = 0 \end{cases}}\)
aby wyliczyc jedyna niewiadoma we wzorze 't' postawiamy wporzedne x, y, z do wzoru plaszczyzny
\(\displaystyle{ A(x1) + B(-t + y1) + C(z1) + D = 0}\)
\(\displaystyle{ Ax1 -tB + By1 + Cz1 + D = 0}\)
\(\displaystyle{ -tB = - Ax1 - By1 - Cz1 - D}\)
\(\displaystyle{ -t = \frac{-Ax1 - By1 - Cz1 - D}{B}}\)
no wiec wstawiajac do wzoru prostej nasze -t otrzymujemy
\(\displaystyle{ \begin{cases} x = x1 \\ y = \frac{-Ax1 - By1 - Cz1 - D}{B} + y1 \\ z = z1 \end{cases}}\)
wiec mamy juz wzor na punkt rzutowany pionowo na plaszczyzne o danym wzorze
no wiec teraz przyklad
\(\displaystyle{ A=(3,5,2)}\)
wtedy \(\displaystyle{ B =(3,4,2)}\)
\(\displaystyle{ X=(0,2,0)}\)
\(\displaystyle{ Y=(4,-2,0)}\)
\(\displaystyle{ Z=(4,-2,1)}\)
wybralem specjalnie takie punkty aby latwo bylo zauwazyc ze punkt A lezy duzo powyzej naszej plaszczyzny
\(\displaystyle{ \vec{XY}=[4-0, -2 -2, 0-0]=[4,-4,0]}\)
\(\displaystyle{ \vec{XZ}=[4-0, -2 -2, 1-0]=[4,-4,1]}\)
no i liczymy sobie ich iloczyn aby orzymac wzor plaszczyzny
\(\displaystyle{ \vec{XY} \vec{} \vec{XZ}=[(-4*1)-(-4*0), -(4*1)+(4*0), (4*(-4))-(4*(-4))]=[-4, 4, 0]}\)
no wiec mamy wzor prostej
\(\displaystyle{ -4x - 4y + 0z + D = 0}\)
podstawiamy ktorys z punktow (wybralem punkt X)
\(\displaystyle{ -4*(0) - 4*(2) + 0*(0) + D = 0}\)
\(\displaystyle{ -8 + D = 0}\)
\(\displaystyle{ D = 8}\)
no wiec mamy wzor prostej
\(\displaystyle{ -4x + 4y - 8 = 0}\)
wstawiamy wszytsko do wzoru
\(\displaystyle{ \begin{cases} x = 3 \\ y = \frac{-A*(3) - B*(5) - C*(2) - 8}{-4} + 5 \\ z = 2 \end{cases}}\)
\(\displaystyle{ \begin{cases} x = 3 \\ y = \frac{-(-4)*(3) - (-4)*(5) - 0*(2) - 8}{-4} + 5 \\ z = 2 \end{cases}}\)
\(\displaystyle{ \begin{cases} x = 3 \\ y = \frac{12 + 20 - 8}{-4} + 5 \\ z = 2 \end{cases}}\)
\(\displaystyle{ \begin{cases} x = 3 \\ y = \frac{24}{-4} + 5 \\ z = 2 \end{cases}}\)
\(\displaystyle{ \begin{cases} x = 3 \\ y = -1 \\ z = 2 \end{cases}}\)
edit: Dobra zauwazylem blad, byl on podczas liczenia iloczynu wektorowego
srodkowa czesc iloczynu nie byla pomnozona przez -1 co dawalo bledny wynik juz do konca
sam wzor jest dobre zbudowany
blad tu:
\(\displaystyle{ \vec{XY} \vec{} \vec{XZ}=[(-4*1)-(-4*0), (4*1)-(4*0), (4*(-4))-(4*(-4))]=[-4, 4, 0]}\)
poprawiony na:
\(\displaystyle{ \vec{XY} \vec{} \vec{XZ}=[(-4*1)-(-4*0), -(4*1)+(4*0), (4*(-4))-(4*(-4))]=[-4, 4, 0]}\)
wszytskie dzialania powyzej sa juz poprawione
gdyby ktos nie chcial najpierw liczyc tych wektorow zamiast tego miec odrazu wzor w ktory wstawiasz 4 punkty i masz wynik to juz wyprowadzam dla was wzor, moze komus sie przyda
\(\displaystyle{ X=(x2,y2,z2)}\)
\(\displaystyle{ Y=(x3,y3,z3)}\)
\(\displaystyle{ Z=(x4,y4,z4)}\)
\(\displaystyle{ \vec{XY}=[x3-x2, y3-y2, z3-z2]}\)
\(\displaystyle{ \vec{XZ}=[x4-x2, y4-y2, z4-z2]}\)
\(\displaystyle{ \vec{v} = \vec{XY} \times \vec{XZ}}\)
\(\displaystyle{ \vec{v} = [ (y3-y2)*(z4-z2)-(y4-y2)*(z3-z2), -(x3-x2)*(z4-z2)+(x4-x2)*(z3-z2), (x3-x2)*(y4-y2)+(x4-x2)*(y3-y2) ]}\)
wzor plaszczyzny wtedy to
\(\displaystyle{ ((y3-y2)*(z4-z2)-(y4-y2)*(z3-z2)) \times x + (-(x3-x2)*(z4-z2)+(x4-x2)*(z3-z2)) \times y + ((x3-x2)*(y4-y2)+(x4-x2)*(y3-y2)) z + D = 0}\)
D to odwrotnosc tego co stoi przed nim czyli
\(\displaystyle{ ((y3-y2)*(z4-z2)-(y4-y2)*(z3-z2)) \times x + (-(x3-x2)*(z4-z2)+(x4-x2)*(z3-z2)) \times y + ((x3-x2)*(y4-y2)+(x4-x2)*(y3-y2)) z - (((y3-y2)*(z4-z2)-(y4-y2)*(z3-z2)) \times x + (-(x3-x2)*(z4-z2)+(x4-x2)*(z3-z2)) \times y + ((x3-x2)*(y4-y2)+(x4-x2)*(y3-y2))) = 0}\)
WZOR wyszedl taki duzy ze latech sobie z nim nie poradzil wiec wrzuce bez kresek ulamkowych i innych znakow
mino wszytsko znajac tylko,
\(\displaystyle{ A=(x1,y1,z1)}\)
\(\displaystyle{ X=(x2,y2,z2)}\)
\(\displaystyle{ Y=(x3,y3,z3)}\)
\(\displaystyle{ Z=(x4,y4,z4)}\)
to punkt C rzucony pionowo na plaszczyne ma wzor
\(\displaystyle{ x = x1}\)
\(\displaystyle{ y = (-((y3-y2)*(z4-z2)-(y4-y2)*(z3-z2)) * x - (-(x3-x2)*(z4-z2)+(x4-x2)*(z3-z2)) * y - ((x3-x2)*(y4-y2)+(x4-x2)*(y3-y2)) z + (((y3-y2)*(z4-z2)-(y4-y2)*(z3-z2)) * x + (-(x3-x2)*(z4-z2)+(x4-x2)*(z3-z2)) * y + ((x3-x2)*(y4-y2)+(x4-x2)*(y3-y2))))/(- (-(x3-x2)*(z4-z2)+(x4-x2)*(z3-z2)) * y) + y1}\)
\(\displaystyle{ z = z1}\)
wyglada glupio ale zawsze jest to jeden konkretny wzor dajacy odrazu wynik