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

11

04.11.2010, 13:16

:pinch: Das ist mir auch klar...

Also nochmal anders formuliert:

Was ich erreichen möchte ist, dass ich den Abstand zwischen einer Linie (mit einem Startvektor und einem Endvektor) und einem Strahl (welcher ich durch das KLicken mit der Maus erhalte) ermitteln kann.

Durch Theorieartikel habe ich mich schon mehrere Stunden gefresse und ich verstehe das auch mehr oder weniger =).
Nure wie setzt ich das in Code um??

Mastermind

unregistriert

12

04.11.2010, 13:20

Was denn nun, Abstand oder Schnittpunkt?

13

04.11.2010, 13:36

ich muss nur wissen, ob sich der Strahl mit der Linie schneidet oder nicht.. Sprich ich brauche nur den Abstand. Wenn der dann kleiner als XX ist dann kann ich davon ausgehen, das der Benutzer die Linie auswählen möchte...

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

14

04.11.2010, 13:49

Wenn es in deinem Fall ausreichend ist einfach die Linie nach 2D zu projizieren und dort den Abstandstest zu machen dann kannst du das ja tun. Wenn du das ganze aber in ein komplexeres System einbauen willst ist so eine Sonderbehandlung von bestimmten Elementen (Linie) vielleicht nicht unbedingt wünschenswert. Außerdem wird es mit dem Ansatz schwierig werden wenn sich in deiner Szene noch andere Objekte befinden sodass die Linie z.B. teilweise verdeckt sein könnte. Da ist es dann wohl doch besser das picking in 3D zu machen. Wenn du dir die Formel für den kleinsten Abstand zweier Geraden in 3D nicht selber herleiten willst so soll google ja immer noch wahre wunder wirken...

15

04.11.2010, 14:08

über diesen Artikel bin ich auch schon gestossen.

Nur weis ich nicht wie ich diese umsetzen soll. Mein Strahl hat ja keine Segmente an sich, ich weis ja nicht wie lange der ist.
Oder ich bin zu blöd um das zu kapieren... 8|

WIe muss ich diese Funktionen richtig umsetzen?

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

16

04.11.2010, 14:31

Ganz einfach, du bekommst ja aus der Formel die Linienparameter für den jeweils nähesten Punkt auf der jeweiligen Linie. Wenn du wissen willst ob der Punkt auf dem Strahl und auf der Linie liegt musst du doch nurmehr checken ob die Parameter im richten Intervall liegen...

17

04.11.2010, 14:37

Aber ich habe ja nur 1 Linie. Das andere ist ein Strahl, von dem ich ein Startpunkt und eine richtung habe.

Ich glaub ich bin würklich zu blöd für das :cursing:

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

18

04.11.2010, 14:41

Ein Strahl ist doch auch nur ein Teil einer Linie!?
Vielleicht verwirrt dich meine etwas schlampige Verwendung bestimmter Begriffe. Mit Linie mein ich natürlich eine Gerade (engl. line).

19

04.11.2010, 14:59

nein, deine Bezeichnungen waren mir schon klar. aber ich glaube du verstehts mein Prolem nicht. Oder wir reden / schreiben aneinander vorbei ^^

Ich habe eine Fixe Linie (Gerade, welche durch 2 Vektoren bestimmt ist) und ich habe einen Strahl (ansich auch eine Gerade). Nur weis ich von dem nur den Startpunkt und die Richtung. Also kann ich diesen Strahl nicht verwenden um in eine der Methoden einzufügen... Ich kann auch nicht einfach eine Länge für den Strahl annehmen, da ich ja keinen HInweis habe, wie lange der seinj könnte, damit er die Linie schneidet.

Aber vlt sollte ich davon absehen und es im 2D versuchen??
Also die Linie auf den Bildschirm projizieren und dann mit der Mausposition den Abstand berechnen. Aber auch da bin ich wieder an einem Problem. Theoretisch weis ich wie der Abstand zu berechnen ist, aber wie setzt ich das nun in Code / eine FUnkion um??

20

04.11.2010, 15:02

Eine Linie? Die durch 2 Punkte definiert ist?
Was hindert dich daran, das umzurechnen, in einen Strahl, der durch Startpunkt und Richtung definiert ist? Die Darstellungen sind doch egal, das kann man umrechnen, wie man will.
Lieber dumm fragen, als dumm bleiben!

Werbeanzeige