Gerade - Ebene

Neue Frage »

Mr. Ebene Auf diesen Beitrag antworten »
Gerade - Ebene
Hey,

ich habe zurzeit ein Problem mit dem Durchstoßpunkt Gerade-Ebene und ich stell mich gerade etwas blöd an!
Folgendes habe ich gegeben:
Eine Gerade g (Stützvektor und Richtungsvektor) sowie eine Ebene in Koordinatenform.

Ich benötige garnicht mal den exakten Durchstoßpunkt sondern will eigentlich nur wissen, ob die Gerade durch die Ebene durch geht oder eben nicht. Dinge wie die Gerade liegt Parallel zur Ebene oder sind identisch müssen auch nicht berücksichtigt werden.

Könnte mir mal bitte jemand eine kurze Anleitung geben wie ich vorgehen soll? Ich habe schon ein paar Dinge probiert aber komme nicht wirklich auf ein vernüftiges Ergebnis verwirrt
Mr. Ebene Auf diesen Beitrag antworten »

Ich glaube fast ich kann mein Problem garnicht so lösen.
Ebenen sind ja unendlich groß oder?!

Eigentlich habe ich zu Begin folgendes gegeben:
Punkt A, B, C eines Dreiecks
Stützvektor der Geraden + Richtungsvektor

Ich möchte nun Testen, ob diese Gerade durch das Dreieck geht. Eine Einfache Überprüfung ob ja/nein reicht mir aber ich glaube das lässt sich nicht über eine Ebene lösen. Wie mache ich das? verwirrt
opi Auf diesen Beitrag antworten »

Zuerst mußt Du den Durchstoßpunkt D der Geraden durch die Ebene bestimmen. Hierzu kannst Du die Geradengleichung in die Koordinatengleichung einsetzen und nach dem Parameter auflösen.

Ob D tatsächlich im Dreieck liegt:

Bestimme die Parameter und und prüfe, ob sie folgenden Bedingungen entsprechen:
Mr. Ebene Auf diesen Beitrag antworten »

Als ich habe nun den Durchstoßpunkt D bestimmt aber wie komme ich auf ? Ich hab bei mir nur
opi Auf diesen Beitrag antworten »

Bei der Überprüfung, ob D tatsächlich im Dreieck liegt, haben wir es mit neuen Parametern zu tun. Bestimme also r und s. Augenzwinkern



Wenn Du mir die Punkte und die Geradengleichung verrätst, kann ich Deine Rechnungen auch kontrollieren.
Mr. Ebene Auf diesen Beitrag antworten »

Ich habe gerade garkeine konkreten Werte vorliegen. Ich benötige das eben um am PC was zu berechnen und da steckt leider noch einiges mehr dahinter und es würde glaube den Rahmen sprengen das alles zu erklären. Ich komme halt bei diesem Part nicht weiter.

Könntest du dir denn mal bitte ein paar Zahlen ausdenken und es als kurzes Beispiel durchrechnen? Würde mir wirklich weiterhelfen!

MfG
 
 
opi Auf diesen Beitrag antworten »

Zitat:
Original von Mr. Ebene
Als ich habe nun den Durchstoßpunkt D bestimmt

Das klang mir nach einer Rechnung. verwirrt

Vorrechnen werde ich nichts, ich kann Dir aber eine Aufgabe stellen, die wir dann gemeinsam lösen.
Mr. Ebene Auf diesen Beitrag antworten »

Das hat eher was mit ein paar zufälligen Werten zutun.

Aber wenn du eine Aufgabe hast wäre das natürlich sehr gut!
Dann würde ich erstmal soweit rechnen wie ich es kann und dann schauen wir weiter Freude
opi Auf diesen Beitrag antworten »

Dreieck ABC:
A(1|1|0), B(2|3|2), C(-9|-9|-14)

Gerade:



Mich interessiert zunächst die Ebenengleichung und der Durchstoßpunkt.
Mr. Ebene Auf diesen Beitrag antworten »

Ich hoffe es ist nicht weiter schlimm das ich hier nicht alles im Latex-Stil schreibe aber ich versuche es übersichtlich zu halten!

Erstmal Vektor AB und AC aufstellen!

Dreieck ABC:
A(1|1|0), B(2|3|2), C(-9|-9|-14)

AB = B - A

AB x = 2 - 1 = 1
AB y = 3 - 1 = 2
AB z = 2 - 0 = 2


AC = C - A

AC x = - 9 - 1 = -10
AC y = - 9 - 1 = -10
AC z = -14 - 0 = -14

Nun würde ich mit den Richtungsvektoren ein Kreuzprodukt machen wodurch ich die Ebene hätte.

(1 = Vektor AB | 2 = Vektor AC)
ex = (y1 * z2) - (z1 * y2);
ey = (z1 * x2) - (x1 * z2);
ez = (x1 * y2) - (y1 * x2);

ex = -8
ey = -6
ez = 10

Ebene = -8x - 6y + 10z = b

Nun b bestimmen indem ich Punkt A einsetze mit dem ich die Richtungsvektoren bestimmt habe:
b = ex * Ax + ey * Ay + ez * Az;
b = -14

Damit sollte die Ebene komplett sein!
E = -8x - 6y + 10z = -14


Nun der Durchstoßpunkt (g in E) - lambda nenne ich bei mir s:
(4 + 5s) * (-8x) - (4 + s) * (-6) + (-7 - s) * 10 = -14

-32 - 40s - 24 - 6s - 70 - 10s = -14
-126 - 56s = -14
-56s = 112
s = -2

Sollte wohl stimmen Freude

Mithilfe von s (bzw. lambda) kann nun der Durchstoßpunkt bestimmt werden!

Dx = 4 + (-2) * 5 = -6
Dy = 4 + (-2) * 1 = 2
Dz = -7 + (-2) * (-1) = -5

Ich hoffe das stimmt alles so!
opi Auf diesen Beitrag antworten »

Freude

Durchstoßpunkt, Ebenengleichung und ebenso und stimmen.

Du mußt nun nur noch bestimmen, danach kannst Du die Parameter ( denke Dir neue Namen aus) der von mir oben angegebenen Gleichung bestimmen.
Mr. Ebene Auf diesen Beitrag antworten »

ist natürlich leicht bestimmt!
ADx = -6 - 1 = -7
ADy = 2 - 1 = 1
ADz = -5 - 0 = -5

Und jetzt kommt eben mein Problem, dass ich nicht wirklich weiss wie ich diese Rechnung genau durchführen muss verwirrt
opi Auf diesen Beitrag antworten »

Die Rechnung ergibt ein Gleichungssystem aus drei Gleichungen und zwei Variablen. Das kannst Du. Freude

Zur Verdeutlichung: Die erste Gleichung ist
-7 = 1t -10u

Ich habe die Parameter nun t und u genannt, damt nichts doppelt vorkommt.
Mr. Ebene Auf diesen Beitrag antworten »

Wärst du noch so freundlich und würdest mir sagen wo die Werte 1t und -10u exakt herkommen? Hammer
Dann kann ich das Gleichungssystem bestimmt auch lösen!
opi Auf diesen Beitrag antworten »

Vielleicht habe ich Dich durch neue Parameterbezeichnungen verwirrt. Lambda war schon besetzt, den Parameter aus der Geradengleichung hattest Du s genannt. Da bin ich einfach weiter durch das Alphabet gegangen. Big Laugh



1 ist der x-Wert von Vektor AB, -10 der x-Wert von Vektor AC.
Mr. Ebene Auf diesen Beitrag antworten »

Ahh okay! Jetzt macht es Sinn!
Ich werd jetzt erstmal schlafen gehen da ich morgen früh raus muss aber werden dann morgen definitiv meine weiteren Ergebnisse zeigen!

Aber schonmal danke für die super Hilfe!
opi Auf diesen Beitrag antworten »

Ich werde morgen wahrscheinlich hier sein, gute Nacht!

Und ein Dank an riwe Mit Zunge , da ich mich im Copy&Paste-Zeitalter an einem seiner früheren Beiträge bedient habe.
Mr. Ebene Auf diesen Beitrag antworten »

Hab es eben ausgerechnet und auch durch einsetzen überprüft!
Sollte also stimmen:

Gleichungssystem:
-7 = 1t - 10u
1 = 2t - 10u
-5 = 2t - 14u

1t - 10u = -7
2t - 10u = 1
2t - 14u = -5

I - II
-1t = -8
t = 8

t in I
8 - 10u = -7
-10u = -15
-u = -1,5
u = 1,5

Überprüfen:
1*8 - 10*1,5 = -7
2*8 - 10*1,5 = 1
2*8 - 14*1,5 = -5

t = 8
u = 1,5
Mr. Ebene Auf diesen Beitrag antworten »

Sorry für Doppelpost aber das habe ich gerade etwas vergessen!
Nochmal zu der Formel hier:


Da ja nun folgendes gilt:

Da weder t noch u größer gleich Null bzw. kleiner gleich 1 ist oder auch t + u größer gleich 0 und kleiner gleich 1 ist, sollte es also nicht im Dreieck liegen wenn ich das richtig verstehe?
opi Auf diesen Beitrag antworten »

Alles richtig!

Da t und u keine einzige der drei Bedingungen erfüllen, liegt der Punkt nicht im Dreieck.
Bei t=0.4 und u=0.3 würde der Punkt im Dreieck legen.

Dieses sehr schematische Vorgehen sollte sich auch programmieren lassen, mit meinen Fähigkeiten locke ich allerdings heutzutage keinen Hund mehr hinter dem Ofen hervor. Big Laugh
Du solltest aber in das Programm eine Prüfung einbauen, daß die Punkte des "Dreiecks" nicht zufällig auf einer Geraden liegen. Das Kreuzprodukt der "Ebene" wäre in diesem Fall ein Nullvektor.
Mr. Ebene Auf diesen Beitrag antworten »

Super, klappt wirklich alles wunderbar! Freude
Besten dank!
opi Auf diesen Beitrag antworten »

Es freut mich, wenn ich Dir helfen konnte. Wink
Mr. Ebene Auf diesen Beitrag antworten »

Hallo!

Ich müsste dein Wissen nochmal beanspruchen.
Mir ist jetzt aufgefallen (was ja eigentlich total logisch ist), dass ja eine Gerade unendlich lang ist.
Was ich allerdings suche ist ein Strahl. Also bei meiner Startposition der Gerade geht es los dann nur in Richtung des Richtungsvektor und nicht auch in die entgegengesetzte Richtung!
Wie müsste man denn die Rechnung ändern um das zu berücksichtigen?

MfG Wink
opi Auf diesen Beitrag antworten »

Eine kleine Bedingung macht den Strahl perfekt:



Bei dem durchgerechneten Beispiel schneidet der Strahl die Ebene also nicht.
Mr. Ebene Auf diesen Beitrag antworten »

Natürlich ist auch das logisch Hammer
Also nochmal danke, warst wirklich eine sehr große Hilfe Freude Wink
Mr. Ebene Auf diesen Beitrag antworten »

Ok nun melde ich mich aber wirklich zum letzten mal bei dem Thema!

Wie würde ich denn noch überprüfen ob Gerade/Ebene parallel sind bzw. identisch?
Meine Vermutung geht bis jetzt dahin, dass ich aus der Ebene einen Normalenvektor mache und diesen dann mit dem Richtungsvektor der Ebene vergleiche. (Vllt. ob die Orthogonal liegen?) Aber ich bin mir nicht wirklich sicher wie ich das korrekt angehen soll. Hoffe mir kann da nochmal geholfen werden Wink
opi Auf diesen Beitrag antworten »

Ja, Dir kann geholfen werden. (und gerne auch jederzeit wieder)

Deine Vermutung ist richtig. Freude
Wenn der Normalenvektor der Ebene orthogonal zum Richtungsvektor der Geraden ist, sind Ebene und Gerade parallel oder die Gerade liegt in der Ebene. Im zweiten Fall ist dann der Stützpunkt der Geraden ein Punkt der Ebene.
"Identisch" können sie nicht sein, da es sich um zwei verschiedene Gebilde handelt. Der Normalenvektor ist Dir bereits aus dem Kreuzprodukt der Ebenenrichtungsvektoren bekannt, Du mußt ihn nicht mehr "machen". Augenzwinkern

Eine andere Möglichkeit:
Zitat:
Nun der Durchstoßpunkt (g in E) - lambda nenne ich bei mir s:
s = -2

Die Gleichung liefert eine Lösung: Ebene und Gerade schneiden sich!
Die Gleichung liefert keine Lösung: parallel!
Die Gleichung liefert unendlich viele Lösungen: Gerade liegt in der Ebene!
Mr. Ebene Auf diesen Beitrag antworten »

Okay verstanden! Freude
Danke Wink
opi Auf diesen Beitrag antworten »

Gern geschehen, viel Spaß beim Programmieren! Wink
Mr. Ebene Auf diesen Beitrag antworten »

Hallo, ich hoffe das liest hier nochmal jemand (am besten opi Wink )!

Wenn ich nun einen Strahl habe, der z.B. durch 3 Dreiecke geht, dann erhalte ich ja logischerweise während der Rechnung 3 Durchstoßpunkte! Ich würde nun gerne überprüfen wollen, welcher Durchstoßpunkt am nähsten zu meiner Position ist!
Daher berechne ich einfach den Abstand zwischen den Durchstoßpunkten und meinem Stützvektor vom Strahl! Leider können die Abstände einfach nicht immer stimmen! Berechnet man den Abstand bei dieser Sache einfach anders oder liegt der Fehler woanders?! Kann ja sein, dass man in dem Fall den Abstand anders berechnet, allein schon weil man immer einen Durchstoßpunkt hat aber dieser nicht unbedingt im Dreieck liegen muss (was ich ohnehin komisch finde)
opi Auf diesen Beitrag antworten »

Die Hoffnung wird erfüllt. Augenzwinkern

Wenn Du den Abstand der Durchstoßpunkte zu Deiner Position bestimmen möchtest, kannst Du den Stützvektor des Strahls nur benutzen, wenn der Strahl von Dir ausgeht. (Also z.B. Du auf etwas schießt.)

Dieser Abstand ist ungleich dem Abstand zur Ebene, in der das Dreieck liegt, da das Dreieck nur ein sehr kleiner Teil der Ebene ist.
Mr. Ebene Auf diesen Beitrag antworten »

Und wie bestimme ich dann den "richtigen" Abstand, wenn ich das nun richtig verstanden habe verwirrt
opi Auf diesen Beitrag antworten »

Geht der Strahl denn von den Koordinaten Deiner Position aus?
Mr. Ebene Auf diesen Beitrag antworten »

Ja!
Also um das nochmal mit einem Beispiel zu beschreiben:
Ich habe eine Waffe und Feuer die von meiner Position ab! Die Kugel bewegt sich dann in eine Richtung (Gravitation etc. natürlich nicht berücksichtigt)! Das beschreibt ja schonmal den Strahl.

Nun trifft die Kugel auf ein Dreieck und ich wüsste gerne den Abstand, wo die Kugel auftrifft! Das die Kugel schon innerhalb des Dreiecks liegt wird ja schon überprüft (hatten wir ja schon eine Seite vorher mal besprochen)!

Was mir dann noch glatt einfällt: Dann wäre ja der Punkt wo die Kugel auftrifft innerhalb des Dreiecks auch ein anderer Punkt als der Durchstoßpunkt, oder?! Den brächte ich dann eigentlich auch noch.
opi Auf diesen Beitrag antworten »

Der errechnete Durchstoßpunkt ist auch der Auftreffpunkt der Kugel.

Zitat:
Leider können die Abstände einfach nicht immer stimmen!

Wenn Du die Abstände richtig berechnest, müssen sie es aber.


Mit den Koordinaten Deiner Position
Mr. Ebene Auf diesen Beitrag antworten »

Stimmt, es kommen wirklich korrekte Werte raus!

Irgendwas will aber trotzdem nicht klappen! Ich habe mal ein kleines Video gemacht aus meiner Anwendung: http://www.youtube.com/watch?v=FMd_w9x1YTU

Ich klicke immer auf die Box, und für jeden Klick wird jedes Dreieck (woraus die Welt besteht) wird überprüft, welches Dreieck am nähsten ist! Das nähste Dreieck wird einem Objekt zugeordnet und das gesamte Objekt komplett rot eingefärbt!
Doch wie man sieht, klappt das nicht aus jeder Position! Manchmal wird die Box erkannt und manchmal die Ebene darunter! Ich weiss einfach nicht woran das liegen kann, dass diese Ebene wahrgenommen wird.
opi Auf diesen Beitrag antworten »

Da bin ich leider überfragt, da ich den Programmcode nicht kenne. (Und dieser mir auch nur wenig nutzen würde.) Das rechnerische Verfahren sollte eigentlich funktionieren.

Zur Eingrenzung des Fehlers: Du hast die sichtbare Oberfläche der Kiste wahrscheinlich in sechs Dreiecke zerlegt. Wenn möglich, laß Dir einzelne getroffenen Dreiecke gefärbt anzeigen. Ich habe den Verdacht, daß bei der Berechnung der Ebenendurchstoßpunkte und der Prüfung, ob diese wirklich im Dreieck liegen, bei einigen Dreiecken ein Fehler vorliegt.

Vielleicht liegt der Fehler auch an zu stark gerundeten Werten. verwirrt
Mr. Ebene Auf diesen Beitrag antworten »

Diese Theorie mit Rundungsfehler hatte ich auch schon!
Wenn ich mir schon die Ebenengleichung angucke, die durch das Kreuzprodukt entsteht (Ex + Ey + Ez = b), dann sind dort teilweise große Werte!

Heißt also die Ex, Ey, Ez sind gut und gerne mal im hohen 4-stelligen Bereich und beim b gibt es auch 6-stellige Werte! Das dort Rundungsfehler entstehen ist wohl durchaus möglich!
Die Frage ist halt, wie schließt man Rundungsfehler aus.

Mein Gedanke wäre jetzt bei den Werten anzusetzen, wo überprüft wird, ob der Punkt im Dreieck liegt:


Die Frage ist halt in welchem Maße?
Statt 0 - 1 vllt. -0.1 - 1.1. Könnte daher allerdings auch wieder eine andere Fehlerqoute erhöhen!
Alles nicht so einfach verwirrt


Ahja, einzelne Dreiecke einfärben lässt sich jetzt nicht so einfach realisieren.
opi Auf diesen Beitrag antworten »

Ich kann Dir bei Deinem Problem leider nicht weiterhelfen.

Zu Rundungen und Rechengenauigkeiten kann Dir hoffentlich unser Geschwisterforum informatikerboard nützliche Tips geben.

Wenn Du ausschließlich auf Kisten oder andere Quader schießen möchtest, wären die einschränkenden Bedingungen etwas zu vereinfachen, ich befürchte aber, daß dieses Dein Problem nicht lösen würde.

Noch ein letzter Strohhalm, falls ein Mißverständnis vorliegen sollte:

bedeutet: Summe aus t und u bilden, diese muß zwischen null und eins liegen. smile
Mr. Ebene Auf diesen Beitrag antworten »

Also ich weiss nun warum der Abstand falsch war!
Ich hatte zur Abstandsberechnung nicht den Durchstoßpunkt, sondern den Richtungsvektor aus Durchstoßpunkt und Stützvektor des Dreiecks genommen. Hammer

Das da natürlich komplett falsch Werte entstehen ist klar.


Leider kommt dieser Fehler, dass andere Objekte/Ebenen ausgewählt werden nach wie vor! Mir kommt es so vor, als hätte es teilweise etwas mit der Ausrichtung zu tun.
Beispiel:

[attach]23373[/attach]

Bitte lade Bilder immer mit "Dateianhänge" hoch. Dann können sie nicht verloren gehen, wenn der Link erlischt, und Dein Beitrag wird anschaulicher, da das Bild als Voransicht zu sehen ist.
Danke, Gualtiero


Bei 2 sich gegenüberliegenden Seiten geht es bei dieser Box ohne Probleme, bei den 2 anderen nicht! Ich habe mitlerweile auch die Rundungsfehler eingrenzen können, wodurch das eig. nicht der wahre Grund sein kann.


Habe auch mal was im Informatikerboard geschrieben, vllt. weiss ja dort jemand Rat!
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »