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

06.12.2010, 16:52

Punkt des kürzesten Abstandes

Hallo Zusammen, ich bins wieder einmal =)

Da ich es nun hinbekommen habe, den Abstand zwischen einem Strahl (Aufhängepunkt und Richtung) und einer Linie (Start - und Endpunkt) zu berechnen, brauche ich nun aber den Punkt auf dem Strahl, wo dieser Abstand (kürzester) "gemessen" wird.

Wie komme ich auf diesen Punkt?

Danke und Gruss
Master Chief

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

2

06.12.2010, 17:15

Wie hast du diesen Abstand denn berechnet ohne eben genau diesen Punkt zu berechnen!?

CBenni::O

1x Contest-Sieger

Beiträge: 1 145

Wohnort: Stuttgart

  • Private Nachricht senden

3

06.12.2010, 17:22

Das würde mich auch interessieren ;)

Normalereise muss man sich (zumindest bei der herleitung) mit Hilfs-Ebenen behelfen, oder?

mfg CBenni::O
Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.
42!
Aufräumen kann jeder, nur das Genie überblickt das Chaos!
Metal will never die!
1. Sppro Gamecontest - mein Beitrag

TGGC

1x Rätselkönig

Beiträge: 1 799

Beruf: Software Entwickler

  • Private Nachricht senden

4

06.12.2010, 17:44

Der gesuchte Punkt nennt sich Lotpunkt oder Fusspunkt. Das Lot steht senkrecht zum Strahl, so findest du den Punkt.

Wie hast du diesen Abstand denn berechnet ohne eben genau diesen Punkt zu berechnen!?
Vermutlich indem er den Punkt in das entsprechende Koordinatensystem transformiert.

5

06.12.2010, 17:55

Hallo Master Chief,

um den Abstand zwischen zwei (windschiefen) Geraden zu ermitteln kannst du wie folgt vorgehen:

  1. Du berechnest einen gemeinsamen Normalen-Einheitsvektor (also senkrecht zu beiden Geraden + Länge 1). Dabei gilt (wegen "senkrecht") das das Skalarprodukt zwischen dem gesuchten Vektor und den beiden Richtungsvektoren der Geraden gleich null ist. Es ergeben sich zwei Gleichungen mit drei (zumindest im dreidimensionalen Raum) Unbekannten, nämlich den Komponenten des gesuchten Vektors. Du kannst einen Wert beliebig wählen (denn die Länge des Vektors ist egal, er wird später eh normalisiert - also auf die Länge 1 gebracht) und die anderen beiden berechnen.
  2. Jetzt den Normalen-Vektor auf die Länge 1 bringen. (Pythagoras)
  3. Jetzt kannst du mit folgender Formel arbeiten, wobei d der gesuchte Abstand ist, q und p zwei Ortsvektoren zu je einem Punkt pro Grade und der Vektor n der berechnete Normalen-Einheitsvektor ist: §d= \left| [ \vec q - \vec p ] * \vec n \right| §
Hier für's bessere Verständnis noch eine Beispielaufgabe:

Die folgenden Geraden sind gegebn:

§g: \vec x = \begin{pmatrix} 6 \\ 1 \\ 4 \end{pmatrix} + t * \begin{pmatrix} 4 \\ 1 \\ -6 \end{pmatrix} §
§ h: \vec x = \begin{pmatrix} 4 \\ 0 \\ 3 \end{pmatrix} + t * \begin{pmatrix} 0 \\ -1 \\ 3 \end{pmatrix} §

Man berechnet den gemeinsamen Normalen-Vektor (Skalarprodukt ist gleich null, da senkrecht):

§4n_{1} + 1n_{2} - 6n_{3} = 0§
§0n_{1} - 1n_{2} + 3n_{3} = 0§

Man wählt z.B. §n_{3} = 4§ und erhält §n_{1} = 3§ und §n_{2} = 12§.

Der Vektor wird normalisiert (Länge 1):

§\left| \vec n \right| = sqrt{3^{2} + 12^{2} + 4^{2}} = 13§

Somit teilt man die Vektor durch seine Länge um ihn wirklich einen Einheitsvektor zu bekommen:

§\vec n_{0} = \frac {1}{13} \begin{pmatrix} 3 \\ 12 \\ 4 \end{pmatrix} §

Jetzt wird in die Formel eingesetzt und man ist fertig:

§d = \left| [ \begin{pmatrix} 4 \\ 0 \\ 3 \end{pmatrix} - \begin{pmatrix} 6 \\ 1 \\ -4 \end{pmatrix} ] * \frac {1}{13} \begin{pmatrix} 3 \\ 12 \\ 4 \end{pmatrix} \right| = \frac {10}{13}§

Die Beispielaufgabe stammt aus "Lambacher Schweizer - Analytische Geometrie mit linearer Algebra".


Hoffe das hilft dir weiter?

Gruß
SaRu_

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

6

06.12.2010, 18:37

Wie hast du diesen Abstand denn berechnet ohne eben genau diesen Punkt zu berechnen!?
Vermutlich indem er den Punkt in das entsprechende Koordinatensystem transformiert.

Dann hat er den Punkt eben im entsprechenden Koordinatensystem berechnet, aka den Parameter der Parametergleichung bestimmt, das ändert ja nix dran dass er den Punkt eben bereits kennt!?

EDIT: Ich gehe natürlich davon aus dass er im Laufe seiner Berechnung den Strahlparameter bereits bestimmt hat da er sonst nicht wissen kann dass der Punkt überhaupt auf dem Strahl liegt...

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »dot« (06.12.2010, 18:56)


n0_0ne

1x Contest-Sieger

  • Private Nachricht senden

7

06.12.2010, 18:55

hhmmm, also nach SaRus Ausführungen wäre ich jetzt in der Lage, den Abstand zu berechnen, aber wie man jetzt die entsprechenden punkte dazu findet, ist mir nicht klar :/

TGGC

1x Rätselkönig

Beiträge: 1 799

Beruf: Software Entwickler

  • Private Nachricht senden

8

06.12.2010, 19:13

Dann hat er den Punkt eben im entsprechenden Koordinatensystem berechnet, aka den Parameter der Parametergleichung bestimmt, das ändert ja nix dran dass er den Punkt eben bereits kennt!?

EDIT: Ich gehe natürlich davon aus dass er im Laufe seiner Berechnung den Strahlparameter bereits bestimmt hat da er sonst nicht wissen kann dass der Punkt überhaupt auf dem Strahl liegt...
Den Fusspunkt in das Koordinatensystem umzurechnen hat aber nicht viel Sinn, denn der entspraeche ja nur dem Nullpunkt. Das der Fusspunkt den Abstand 0 zum Strahl hat, wissen wir aber schon per Definition.

hhmmm, also nach SaRus Ausführungen wäre ich jetzt in der Lage, den Abstand zu berechnen, aber wie man jetzt die entsprechenden punkte dazu findet, ist mir nicht klar :/
Das geht so, wie von mir beschrieben.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

9

06.12.2010, 19:23

Den Fusspunkt in das Koordinatensystem umzurechnen hat aber nicht viel Sinn, denn der entspraeche ja nur dem Nullpunkt. Das der Fusspunkt den Abstand 0 zum Strahl hat, wissen wir aber schon per Definition.

Sry, ich versteh nicht wirklich worauf du hinauswillst...

TGGC

1x Rätselkönig

Beiträge: 1 799

Beruf: Software Entwickler

  • Private Nachricht senden

10

06.12.2010, 19:41

Ein Koordinatensystem, aehnlich dem von Saru bei Punkt 3. q ist der Nullpunkt, n der Basisvektor.

Werbeanzeige