Thema: Delphi Winkel addieren

Einzelnen Beitrag anzeigen

wol

Registriert seit: 13. Nov 2007
Ort: Stuttgart
21 Beiträge
 
Delphi 6 Personal
 
#4

Re: Winkel addieren

  Alt 25. Nov 2007, 11:22
Zitat von .chicken:
So, in letzter Zeit arbeite ich mal wieder n bisl mit Delphi und hab da mal wieder ne kleine Frage.

Ich möchte die Steigung berechnen, die sich ergibt wenn man Gerade1 an Gerade2 reflektieren lässt, wobei beide beliebige Steigungen haben können und nicht parallel zur X oder Y Achse verlaufen!

Die Steigung habe ich, daraus ermittele ich mittels ArcTan() den dazugehörigen Winkel, richtig?
So nun, weiss ich aber nicht genau wie ich weitermachen soll...hab hier schon n bissl rumskizziert und so aber irgendwie, kommt da nie was richtiges bei raus. Meine Idee:
Ich habe Winkel1 (ArcTan(M1)) und Winkel2 (ArcTan(M2)). Ich möchte Gerade2 an Gerade1 spiegeln.
Dazu rechne ich Winkel2 - Winkel1, um die erste Gerade quasi parallel zur X-Achse zu bringen, dann kann ich die Steigung der 2.Gerade zur ersten sehen. (Hoffe ihr versteht wie ich das meine)

So und danach müsste ich diese ermittelte Differenz doch eigentlich vom Winkel der ersten Gerade subtrahieren oder?
Bei mir haut das nicht hin!

Delphi-Quellcode:
W1 := ArcTan(M1);
W2 := ArcTan(M2);
W3 := W1 - (W1 - W2);
M3 := Tan(W3);
Es funktioniert einfach nicht, was mache ich falsch? Die Gerade die gezeichnet wird passt einfach nie.
Liegt der Fehler in meiner mathematischen Denkweise oder habe ich irgendwo nen Fehler im Code? (Hab ihn jetzt nich gepostet, aber wenn ihr sagt meine Überlegung ist richtig, dann bleibt ja eh nix anderes übrig )


Hoffe ihr könnt mir helfen und versteht was ich meine, ist doch etwas kompliziert das zu erklaeren ^^

Grüße
Bemerkung zum Quellcode: W3 := W1 - (W1 - W2);
das ist das selbe wie:W3= W2
Nun zu deinem Problem:
Es ist wohl kein Programmierproblem sondern eher ein Geometrisches.
Ich würde zunächst den Schnittwinkel "SW" berechnen:
SW=arttan((m2-m1)/(1+m1*m2)
Dein Winkel ist dann SW+W2
Gruß Wolfgang
Danke / Bitte; Gruß Wolfgang
  Mit Zitat antworten Zitat