Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 23-05-2006, 22:25   #1 (permalink)
***********
 
Registriert seit: Jul 2002
Beiträge: 32
Winkel zwischen 2 Geraden/3 Koordinaten? + 2. Mathe-Problem

Hallo,

steh grad irgendwie auf'm Schlauch, oder es is einfach weng spät. Ich hab 3 beliebige Punkte (A,B,C), die die Geraden AB und BC bilden. Wie kann ich Mathegenie jetzt den Winkel ABC berechnen?

Kleine Einschränkung: Der Punkt A liegt immer oberhalb von B, also gleiche X-Koordinate und kleinere Y-Koordinate (da in Flash die Y-Achse ja nach unten zeigt - ziemlich nervige Sache!).

Vielen Dank allen die jemandem helfen, der sich dringend mal wieder seine Formelsammlung rauskramen muss!

Nachtrag:
Hab auch noch 'n 2. Problemchen: Gegeben sind die Koordinaten eines Startpunkts, ein gewünschter Abstand vom Startpunkt und der Winkel zwischen einer Senkrechten durch den Startpunkt und der Geraden Startpunkt-Zielpunkt (also der oben berechnete). Wie kriege ich die Koordinaten des Zielpunkts? (Ich hab wirklich ganz schön Nachholbedarf! *schäm*)

Nochmal vielen Dank für Hilfe!

Geändert von tonymeman (24-05-2006 um 18:38 Uhr)
tonymeman ist offline   Mit Zitat antworten
Alt 23-05-2006, 23:03   #2 (permalink)
Neuer User
 
Benutzerbild von zillion42
 
Registriert seit: Oct 2004
Beiträge: 65
PHP-Code:
//MC P1 & P2 sind die Ausgangspunkte (P1._x,P1._y,P2._x,P2._y)

if (P2._x  >= P1._x)(
var 
winkel 90 + (180 Math.PI Math.asin( (P2._y P1._y) /  DistancePX))
)
else if (
P2._x  <= P1._x )(
var 
winkel 270 -  (180 Math.PI Math.asin( (P2._y P1._y) / DistancePX))
)

WinkelInteger Math.floor(Winkel); 
Nachtrag:
Ach 3 Punkte...
Der winkel ABC = 180 °
Den Winkel AB oder BC oder CA kannst du wie oben genannt berechnen...

und deinen Nachtrag verstehe ich nicht...

Geändert von zillion42 (23-05-2006 um 23:07 Uhr)
zillion42 ist offline   Mit Zitat antworten
Alt 24-05-2006, 08:10   #3 (permalink)
***********
 
Registriert seit: Jul 2002
Beiträge: 32
Seh ich das richtig, dass du eine Fallunterscheidung machst, um immer den kleineren Winkel zu kriegen? Oder wegen Sinus?

Bin allerdings auch noch auf eine einfachere Lösung gestoßen, die eigentlich auch funktionieren müsste:
Code:
winkel = Math.atan2(cx-bx,by-cy)*180/Math.PI
Fehlt nur noch ne Lösung für mein 2. Problem ...

Geändert von tonymeman (24-05-2006 um 08:11 Uhr)
tonymeman ist offline   Mit Zitat antworten
Alt 24-05-2006, 09:22   #4 (permalink)
muh
 
Benutzerbild von Janoscharlipp
 
Registriert seit: Apr 2002
Ort: Freiburg / Stuttgart
Beiträge: 4.338
Am besten du malst den Kram auf, dann wird es meistens ganz einfach.

In deinem Fall wohl einfach
ActionScript:
  1. beta = Math.PI / 2 - alpha;
  2. x = r * Math.cos(beta);
  3. y = r * Math.sin(beta);
__________________
»Carpe diem«, sagte der Graf. (Terry Pratchett: Ruhig Blut!)
Janoscharlipp ist offline   Mit Zitat antworten
Alt 24-05-2006, 09:41   #5 (permalink)
***********
 
Registriert seit: Jul 2002
Beiträge: 32
Hast Recht, anbei eine Zeichnung. Gegeben sind A, alpha, d, gesucht die Koordinaten des Zielpunkts. Mit deinem Rechenweg komm ich noch nicht drauf. Der Winkel kann natürlich was beliebiges zwischen 0° und 360° sein.
Angehängte Grafiken
Dateityp: jpg temp.jpg (36,3 KB, 22x aufgerufen)

Geändert von tonymeman (24-05-2006 um 09:44 Uhr)
tonymeman ist offline   Mit Zitat antworten
Alt 24-05-2006, 18:38   #6 (permalink)
***********
 
Registriert seit: Jul 2002
Beiträge: 32
Ich Depp, ich muss die Winkel ja im Bogenmaß eingeben, dummer Anfängerfehler! Wenn ich vor Berechnung vom Winkel noch 90° abziehe (wegen meiner Ausrichtung an der Y-Achse) läufts jetzt auf jeden Fall, Danke!
tonymeman ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 07:14 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele