Dreickes-Kollision
-
Hallo!
Ich möchte berechnen ob sich 2 3-dimensionale Dreiecke überschneiden.
Ich habe dazu im Internet bereits eine Beschreibung für den folgenden Algorithmus gefunden:
1. Prüfen ob jedes der Dreiecke die Ebene des anderen schneidet
2. Die Schnittlinie zwischen den beiden Ebenen berechnen (Gerade)
3. Auf der Gerade 2 Intervalle berechnen, in denen sie sich mit den Dreiecken schneidet
4. Wenn sich die Intervalle überschneiden, dann überlappen sich auch die DreieckeDen 1. Punkt hab ich schon geschafft. Beim 2. hab ich das Problem: ich weiß nicht wie ich die Schnittlinie zweier Ebenen bekomme. Wie geht das?
Oder kennt jemand einen anderen Algorithmus (oder eine gute Erklärung für diesen)?
Danke!
mfg
-
Um die Schnittgerade zweier Ebenen zu bekommen suchst du zuerst zwei Punkte, die in beiden Ebenen liegen und bildest dann aus diesen eine Gerade.
Das geht folgendermassen, wenn du die Ebenen als Koordinatengleichung hast, setzt du eine Koordinate auf einen bestimmten Wert, z.B. x=1.
Bsp:
x-2y+2z-1=0 Ebene 1
2x-3y-z+2=0 Ebene 2nun hast du zwei Gleichungen mit 2 Variablen, also kannst du das auflösen:
-2y+2z=0
3y-z+4=0
Auflösen (P=(1/1/1)).jetzt machst du das gleiche noch mit einem anderen Wert (z.B. z=0) und du erhälts dann einen anderen Punkt. Aus den zwei Punkten kannst du dann die Schnittgerade bilden.
Ich hoffe das hat dir ein bisschen geholfen.
-
Ja, danke. Das hilft mir.
mfg