Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

28.05.2020, 09:00

Höhen-Information extrahieren?

Hi,

ich benötige mal einen kleinen Denkanstoß: angenommen, ich habe eine Fläche, die irgendwie schief im 3D-Raum liegt (der Einfachheit halber soll die Fläche aus drei Punkten bestehen, die ein Dreieck beschrieben). Jetzt würde ich gerne für eine spezielle XY-Koordinate ermitteln, welche Höhe in Z die Fläche an dieser Position hat. Wenn die XY-Koordinate exakt auf einer der Kanten des Dreiecks fällt, wäre es einfach eine lineare Berechnung auf basis der beiden noch involvierten Punkte des Dreiecks.

Da das aber nur ein eher seltener Spezialfall ist: wie mache ich das für die restlichen Fälle, in denen die gesuchte höhe irgendwo zwischen allen drei Punkten der Fläche liegt?

Ach ja, es ist kein OpenGL oder ähnliches involviert, ich habe nur die reinen Koordinaten vorliegen.

Danke!

Schrompf

Alter Hase

Beiträge: 1 470

Wohnort: Dresden

Beruf: Softwareentwickler

  • Private Nachricht senden

2

28.05.2020, 11:25

Du kannst nen Strahl bauen mit Punkt XY0 und Richtung 00Z und diese Strecke mit der Ebene schneiden. Dann kriegst Du einen Schnittpunkt mit XY wie erwartet und Z Dein Wunschwert.
Häuptling von Dreamworlds. Baut aktuell an nichts konkretem, weil das Vollzeitangestelltenverhältnis ihn fest im Griff hat. Baut daneben nur noch sehr selten an der Open Asset Import Library mit.

3

28.05.2020, 11:34

Ja, genau das ist die Idee - aber wie shet das aus? Mir aus meinem Punkt XY einen Vektor bauen, der nach unten gerichtet ist - kein Problem. Aber wie ermittle ich den Schnittpunkt mit der eigentlich imaginären Ebene, die real ja nur aus drei Koordinatenpunkten besteht?

Schrompf

Alter Hase

Beiträge: 1 470

Wohnort: Dresden

Beruf: Softwareentwickler

  • Private Nachricht senden

4

28.05.2020, 13:06

Du baust eine Ebene aus den drei Eckpunkten ABC des Dreiecks. Die Ebenennormale berechnest Du klassisch wie die Dreiecksnormale (B - A) kreuzprodukt (C - A). Die zusammen mit einem beliebigen Basispunkt auf Dreiecksebene (z.B. schlicht A) ergeben Deine Ebene. Mit der berechnest Du den Schnittpunkt mit Deinem Strahl-Nach-Unten. Wie man das macht, kann Dir das Internet in einer Sprache Deiner Wahl erklären.
Häuptling von Dreamworlds. Baut aktuell an nichts konkretem, weil das Vollzeitangestelltenverhältnis ihn fest im Griff hat. Baut daneben nur noch sehr selten an der Open Asset Import Library mit.

Jonathan

Community-Fossil

  • Private Nachricht senden

5

29.05.2020, 11:23

Wenn du die Ebene in Hessescher Normalform hast (ax + by + cz + d = 0), kannst du ganz einfach X und Y einsetzen und nach Z auflösen (a,b,c und d sind ja durch die Ebene definiert).
Lieber dumm fragen, als dumm bleiben!

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

6

29.05.2020, 12:15

... und dadurch, dass dein Strahl nach unten gerichtet ist (x- und z-Komponente der Richtung = 0), vereinfacht sich die Formel auch nochmal.

7

18.06.2020, 11:12

OK, Danke, ich denke damit kann ich was anfangen :-)

Werbeanzeige