Länge[a_]:=(Sqrt[(∑_(k=1)^(Length[a]))a[[k]]^2])

Spat[a_,b_,c_]:=Expand[Cross[a,b].c]

Schnittpunkte von Geraden: Beispiel 2.7

g1={4,2,3}+t{1,2,3}

g2={1,0,2}+u{3,2,1}

sol=Solve[g1==g2,{t,u}]

g1/.sol[[1]]

g3={1,0,2}+t{6,4,2}

g4={1,1,1}+u{1,1,(1/2)}

sol=Solve[g3==g4,{t,u}]

Abstand Punkt - Gerade

Abstand g1 vom Ursprung

a={1,2,3};r1={0,0,0};r0={4,2,3};

d=((Länge[Cross[a,r1-r0]])/(Länge[a]))

Abstand Gerade- Gerade

Abstand g1 von g2

a1={1,2,3};a2={3,2,1}; r1={4,2,3};r2={1,0,2};

d=((Abs[Spat[a1,a2,r2-r1]])/(Länge[Cross[a1,a2]]))

Abstand g3 von g4

a1={6,4,2};a2={1,1,(1/2)}; r1={1,0,2};r2={1,1,1};

d=((Abs[Spat[a1,a2,r2-r1]])/(Länge[Cross[a1,a2]]))

Ebene

Wir betrachten die Parameterdarstellung einer Ebenengleichung:

gleichung={x,y,z}=={1,1,2}+r*{2,1,0}+s*{1,3,1}

und stellen die Ebene graphisch dar:

ParametricPlot3D[gleichung[[2]],{r,0,1},{s,0,1}]

Durch Elimination von r und s erhält man die Koordinatenfrom der Ebene:

Eliminate[gleichung,{r,s}]

Dies kann man auch durch Lösen eines linearen Gleichungssystems ermitteln:

Solve[gleichung,{x,r,s}]

sol=Solve[gleichung,{z,r,s}]

oder mit dem Vektorprodukt:

n=Cross[{2,1,0},{1,3,1}]

n.{x,y,z}==n.{1,1,2}

Hessesche Normalform

n=(n/(Länge[n]))

n.{x,y,z}==n.{1,1,2}

Man kann den Abstand der Ebene zum Urspung ablesen:

n.{1,1,2}

Simplify[%]

Graphische Darstellung der Koordinatenform:

Plot3D[z/.sol[[1]],{x,-5,5},{y,-5,5}]