Innerhalb oder außerhalb (3D)

22/11/2007 - 18:03 von Markus Gronotte | Report spam
Moin,

Ich habe hier ein Problem, dass ich
mit meiner Mathematik aus der Schule
wohl doch nicht lösen kann. Zunàchst
habe ich versucht das Problem
zweidimensional mit einem Dreieck
zu lösen aber habe es nicht hinbekommen.
Aber das eigentliche Problem ist eh
dreidimensional.


Es existiert ein Raum, der durch
4 Punkte definiert ist.

P1(x1,y1,z1)
P2(x2,y2,z2)
P3(x3,y3,z3)
P4(x4,y4,z4)

Der Raum wird durch die 6 Kanten des Raumes, von denen
drei Stück zusammen jeweils eine Flàche ergeben, gebildet
bzw. definiert.

Jetzt liegt ein weiterer Punkt

P5(x5,y5,z5)

irgendwo. entweder außerhalb oder innerhalb
des definierten Raumes.

Ich möchte nun mathematisch berechnen, ob der
Punkt innerhalb liegt oder außerhalb. Und zwar
so, dass sich das Ergebnis in einen C- oder
Pascal-QuellCode umsetzen làsst.

Hier ein Beispiel fürs Proberechnen:

3D-Körper:
P1(0,0,0)
P2(0,0,1)
P3(0,1,0)
P4(1,0,0)

P5(0,0,0.5) => innerhalb (grafisch gelöst)
P6(2,1,1) => außerhalb (grafisch gelöst)

Ich komm da nicht weiter. Weiß jemand Rat oder eine Lösung?

Viele Grüße,

Markus
 

Lesen sie die antworten

#1 Christian Volk
22/11/2007 - 19:46 | Warnen spam
Markus Gronotte wrote:
Moin,

Ich habe hier ein Problem, dass ich
mit meiner Mathematik aus der Schule
wohl doch nicht lösen kann. Zunàchst
habe ich versucht das Problem
zweidimensional mit einem Dreieck
zu lösen aber habe es nicht hinbekommen.
Aber das eigentliche Problem ist eh
dreidimensional.


Es existiert ein Raum, der durch
4 Punkte definiert ist.

P1(x1,y1,z1)
P2(x2,y2,z2)
P3(x3,y3,z3)
P4(x4,y4,z4)

Der Raum wird durch die 6 Kanten des Raumes, von denen
drei Stück zusammen jeweils eine Flàche ergeben, gebildet
bzw. definiert.



Aha, du meinst also das Simplex mit diesen vier Eckpunkten.
Das ist gleichzeitig die konvexe Hülle dieser 4 Punkte.
Man erhàlt das auch als Schnitt von 4 Halbràumen.
Ein solcher Halbraum ist gegeben durch eine
Ebene und eine Orientierung.
Die Ebene ist festgelegt durch drei Punkte.
Die Orientierung durch einen weiteren Punkt.

Vorgehensweise also für die 4 Halbràume:
Die Ebene durch drei Punkte, zB P_1, P_2, P_3
bestimmen. Anhand des vierten Punktes P_4
testen, ob der richtige Halbraum der positive oder negative ist.

Ein Punkt ist dann im Simplex enthalten,
wenn er in allen 4 Halbràumen enthalten ist.

Es geht noch einfacher mit
einer Matrix für Orientierungstests.

HTH
Christian

Jetzt liegt ein weiterer Punkt

P5(x5,y5,z5)

irgendwo. entweder außerhalb oder innerhalb
des definierten Raumes.

Ich möchte nun mathematisch berechnen, ob der
Punkt innerhalb liegt oder außerhalb. Und zwar
so, dass sich das Ergebnis in einen C- oder
Pascal-QuellCode umsetzen làsst.

Hier ein Beispiel fürs Proberechnen:

3D-Körper:
P1(0,0,0)
P2(0,0,1)
P3(0,1,0)
P4(1,0,0)

P5(0,0,0.5) => innerhalb (grafisch gelöst)
P6(2,1,1) => außerhalb (grafisch gelöst)

Ich komm da nicht weiter. Weiß jemand Rat oder eine Lösung?

Viele Grüße,

Markus

Ähnliche fragen