Einfaches vektorproblem

Hallo Experten :smile:

bei der Programmierung im 3D-Bereich suche ich für folgendes
einfaches Vektorproblem eine möglichst simple Lösung:
ich habe ein Dreieck definiert durch x/y/z Koordinaten zb.
(0/0/0)(3/0/0)(3/3/3) und eine senkrechte (wichtig, immer senkrecht)
Gerade (2/1/5)(2/1/-2). Durch einfaches Vergleichen und da die Gerade
immer senkrecht ist, weiß ich die Schnittpunkte von Gerade und
Dreieck x und y (also 2 und 1), aber wie kann ich nun möglichst
einfach z ausrechnen? Ich hoffe, Sie können mir helfen, mein Mathe-LK
ist 10 Jahre her.

MfG Manuel Geissinger.

Hallo Manuel

Also dein Dreieck liegt ja in einer Ebene, diese Ebene schneidet man mit der Geraden durch gleichsetzen:

 0 1 1 2 0
E=(0)+l\*(0)+k\*(1) = (1)+m\*(0)=g
 0 0 1 0 1

daraus ergibt sich ein Gleichungssystem mit 3 Gleichungen und 3 unbekannten:

0+l+k = 2+0
0+0+k = 1+0
0+0+k = 0+m

k=1
l=1
m=1

Also ist der Schnittpunkt bei

 2 0
 (1)+1\*(0)= (2/1/1)
 0 1

babel

Hallo,

Gerade (2/1/5)(2/1/-2)

was soll das den sein? Sind das 2 Punkte, durch die die Gerade geht, oder ist es ein Punkt und eine Richtung?

Olaf

Hi,

Gerade (2/1/5)(2/1/-2)

was soll das den sein? Sind das 2 Punkte, durch die die Gerade
geht, oder ist es ein Punkt und eine Richtung?

bin zwar nicht der Frager, aber da die Gerade rechtwinklig auf dem Dreieck stehen muss und auch das Dreieck nur durch Punkte definiert wurde, müssten das wenn mich micht alle täuscht Punkte auf der Geraden sein. Sonst machts nämlich keinen Sinn…

Babel

ja das sollten punkte auf der geraden sein (3D koordinaten). vielleicht wird es klarer, wenn ich das tatsächliche problem kurz erläutere: es geht darum, in einer 3D anwendung objekte, von denen der unterste punkt bekannt ist, auf eine polygonale, unebene fläche zu „grounden“. somit habe ich eine bekannte, senkrechte gerade (ich wähle mir zu dem tiefpunkt des objekts einfach einen punkt mit gleichen x/y koordinaten und tieferer z koord. als der tiefste ebenenpunkt), und durch vergleichen mit den umliegenden polygon-vertices weiß ich, in welchem polygon der schnittpunkt liegt.
leider bin ich überhaupt nicht mehr fitt in der mathematischen vektorrechnung, weshalb ich eher eine einfach zu programmierende, lineare gleichung gesucht habe, in einer form wie:
z(schnittpunkt)=x1(poly)+(x2poly)…/x(bekannter schnittpunkt)-… ([Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

oder vielleicht ist es sorum einfacher formuliert:

ich suche von einem punkt auf meiner ebene, von dem x und y bekannt sind, z…

Hallo Occide,
das geht folgendermaßen:
du legst eine Ebene durch die drei Eckpunkte des Dreiecks, zunächst in der Parameterform. Du suchst den Normalenvektor zu dieser Ebene und wandelst die Gleichung in die Normalenform um. Du stellst die Gleichung der Geraden auf (in Parameterform weil im R3) und schneidest die Ebene mit der Geraden.
Ich schicke dir gern die Lösung per Mail, weil ich sie dann mit dem Formeleditor in Vektorschreibweise darstellen kann, das ist mir hier zu mühsam. Also guck mal in deinen elektronischen Briefkasten!
Gruß Orchidee

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

hier die erarbeitete lösung:
//ebene:
ex1=0
ey1=0
ez1=0

ex2=3
ey2=0
ez2=0

ex3=3
ey3=3
ez3=3
//punkt
px=2
py=1
pz=5

//die eigentliche rechnung

er1=ex2-ex1
er2=ey2-ey1
er3=ez2-ez1

es1=ex3-ex1
es2=ey3-ey1
es3=ez3-ez1

nx=(er2*es3)-(er3*es2)
ny=(er3*es1)-(er1*es3)
nz=(er1*es2)-(er2*es1)

znew=((-1*nx*px)-(ny*py))/nz

vielen dank an alle für eure hilfe!
grüße, occide