Registriert seit: 28. Jul 2003
1.528 Beiträge
Delphi 2005 Personal
|
Re: Tangenten und Kreis
8. Jul 2006, 14:17
Probiers mal so:
Der Nutzer klickt auf das Form um den Mittelpunkt festzulegen. Dann ein zweiter Klick um den Radius festzulegen. Beim MouseDown-Event bekommst du die x,y-Koordinaten, glaub ich. Dann ein dritter Klick für den Punkt.
Dann die erste Rechnung. Falls der ABstand erster Punkt<->dritter Punkt kleiner als Abstand 1.Punkt<-> 2.Punkt, dann gibts du ein showmessage aus und brichst die Berechnung ab.
Ich persönlich würde nicht die angegebene Gleichung benutzen, sondern mir selbst Gedanken über die Berechung machen. (Siehe Annhang)
Beta bekommst du aus den Koordinaten von Punkt 1 und 3, alpha aus der Kenntnis von Abstand 1 und 3 sowie dem Radius. Gamma ist dementsprechend (alpha-beta). Mit Gamma kannst du jetzt recht einfach den oberen Tangentenpunkt berechnen. Per penpos und lineto kannst du jetzt die Tangente malen. Die Polare ist dann auch nur noch ein Einzeiler, da du ja schon die Koordinaten der Berührpunkte kennst. Insgesamt hast du damit einen recht schönen Weg, der insgesamt nicht mehr als 10 Zeilen benötigen sollte, was bei der Bewertung sicher gut ankommt.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
|