Höhe eines Punktes auf einer Fläche finden
-
Hi,
ich habe folgendes Problem: ich habe in einem 3D-Koordinatensysten ein Dreieck A,B,C, bei dem jeder Eckpunkt durch Koordinaten (x,y,z) festgelegt ist. Weiterhin habe ich einen Punkt P, der durch (x,y) festgelegt ist, und von dem ich witerhin weiß, dass er auf der Oberfläche dieses Dreiecks liegt.
Jetzt wüsste ich gerne die z-Koordinate dieses Punktes.
Für das Problem spuckt mir Google auch jede Menge Lösungen aus - allerdings alle in einer Form, die ich nicht wirklich verstehe und dementsprechend in funktionierenden C/C++-Code umsetzen könnte.
Deswegen meine Frage: hat jemand eine fertige, C-Code-taugliche Formel oder eventuell sogar eine Quelle für ein entsprechendens Beispielprogamm, dass mit die Höhe meines Punktes ausrechnet?
Danke!
-
Ist das Problem, die Berechnung, oder das Programmieren?
Berechnung: Du hast eine gerade die von der X/Y Ebene senkrecht nach oben durch den Punkt (x,y,z) geht. Und du hast eine Ebene, definiert durch dein Dreieck. Schnittpunkt berechnen und z-Koordinate ablesen, sollte mit ein bisschen Google kein Problem seinWenn du die Rechnung hast und eine Programmiersprache halbwegs beherrschst, sollte auch die Programmierung kein Problem sein.
-
Das Problem ist die Berechnung. Eine Formel in Code umsetzen ist nicht schwer, ich komme halt nur mit genau diesen Erklärungen (wie sie mir auch Google zu Hauf liefert) gar nicht erst zu einer Formel :-o
-
Vielleicht hilft Dir das als Anschauungsmaterial
https://www.mathelounge.de/521760/bestimmen-sie-die-fehlende-koordinate-von-p-px-0-1-der-ebene-e
-
In der Antwort zu How to find y at given point (x,z) on 3D triangle? findest du die passende Formel (auch wenn du bei dir dazu
y
undz
vertauschen mußt).
-
@Th69 sagte in Höhe eines Punktes auf einer Fläche finden:
In der Antwort zu How to find y at given point (x,z) on 3D triangle? findest du die passende Formel (auch wenn du bei dir dazu
y
undz
vertauschen mußt).Das Posting hatte ich auch schon mal gefunden. Allerdings ist da noch ein "Normal" n vorhanden, welches ich bei meinem Dreieck so nicht habe - mir liegen nur die Koordinaten der Eckpunkte vor. Was hat es denn mit diesem Nomal auf sich?
-
Das ist der Normalenvektor und am einfachsten per Kreuzprodukt zu ermitteln (aus 2 Vektoren basierend auf den Eckpunkten, d.h. z.B.
B-A
undC-A
). Die Formel dazu steht im Wiki unter Normalenvektor: Normale und Normalenvektor einer Ebene: .