Verlängerung einer Linie
-
Hi.
Ich brauche eine Berechnung die eine Verlängerung einer Linie zulässt.
Beispiel:x b aIch habe eine Linie von a zu b, möchte aber, dass die von a durch b zu x läuft. Nun fehlt mir aber die Berechnung, um die Linie zu verlängern denn ich brauche ja die Position von x.
Vielen Dank!
-
Du möchtest eine Linie durch einen Punkt laufen lassen, aber kennst die Position dieses Punktes nicht? Wie soll man das denn verstehen?
Sorry, aber ich verstehe die Fragestellung und erst recht, was das mit C++ zu tun hat nicht.
-
Der Punkt x wird dadurch nicht eindeutig beschrieben, er kann sich ja irgendwo auf der Verlängerung befinden. Hast du noch weitere Bedingungen?
Ich würde das mit Vektoren rechnen, dann bist du flexibler als mit Geradengleichungen (z.B. bei vertikalen Geraden). Punkte auf der Gerade von a nach b (genauer deren Ortsvektoren) sind gegeben durch folgende Gleichung, wobei
tein wählbarer Parameter ist (der könnte eben durch eine weitere Bedingung eingeschränkt werden). Fürt > 1istxauf der Verlängerung jenseitsb.r = a + (b-a) * t
-
Hi.
Also es geht genauer darum, dass Punkt a irgendwo mittig auf dem Bildschirm liegt und Punkt b irgendwo anders. Nun soll es aber so sein, auch wenn Punkt b nicht am Bildschirmrand liegt, dass der Strich bis zum Bildschirmrand verlängert werden soll.
Hier nochmal deutlicher: Punkt a ist in Mitte, Punkt b irgendwo zwischen Mitte und Bildschirmrand (schwarze Linie). Punkt x soll jetzt am Bildschirmrand liegen (also muss die Linie mindestens um die hälfte der maximalen Bildschirmbreite / Höhe verlängert werden) und die Linie dahingehend verlängert werden (rot):
http://www.abload.de/img/a2kuc.pngGruß
-
Dann schneidest du die Gerade von a nach b mit den Bildschirmrändern, und du hast x eindeutig bestimmt.
-
Hi.
Irgendwie weiß ich nicht so recht wie ich das anstellen soll. Wie berechne ich denn wo die sich schneiden?Gruß
-
Das ist recht einfach: