| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| muh Registriert seit: Apr 2002 Ort: Freiburg / Stuttgart
Beiträge: 4.338
| Winkeldifferenz | Winkel zwischen zwei Geraden
HI, ich habe jetzt einige Zeit damit gekämpft, die Differenz von 2 Winkeln zu erhalten. Das Problem ist der Übergang bei 0 = 360 (bzw. 180 = -180) und überhaupt die periodizität mit 360. das hier ist mein Ergebnis, falls mal jemand mit ähnlichen Problemen zu tun hat. ActionScript:
vielleicht bin ich auch einfahc nur dumm, und das ist eigentlich ganz einfach, aber das % Zeug macht mich ganz wirr. |
| | |
| | #2 (permalink) |
| Flash & TYPO3 Registriert seit: Oct 2003 Ort: Bayern
Beiträge: 2.700
|
Wievso nicht einfach so? ActionScript:
In den einigen Beispielen, in denen ich es getestet habe geht es
__________________ Mediendesign-Student |
| | |
| | #4 (permalink) |
| muh Registriert seit: Apr 2002 Ort: Freiburg / Stuttgart
Beiträge: 4.338
|
oder vielleicht so: ActionScript:
Das scheint auch immer das kleinste zurück zu geben. |
| | |
| | #5 (permalink) |
| Flash & TYPO3 Registriert seit: Oct 2003 Ort: Bayern
Beiträge: 2.700
|
Dann müsste es aber so auch gehen... Wusste ich ja zuvor nicht ![]() ActionScript:
__________________ Mediendesign-Student |
| | |
| | #6 (permalink) |
| Level up Registriert seit: Jun 2001 Ort: Bocholt
Beiträge: 4.155
|
hmmm..., ...nur positive Werte, für die Anwendung ja nicht gerade praktisch (Beispiel: Figur dreht sich immer im kürzesten Winkel) ...hast Du da auch einen Lösungsansatz zu ...ich hatte dasselbe Problem mal folgendermassen gelöst (grad nochmal in eine funktion packen): ActionScript:
![]() Alois
__________________ -Spuckt mir auf den Stuhl, ich will im Grünen sitzen- |
| | |
| | #7 (permalink) |
| Level up Registriert seit: Jun 2001 Ort: Bocholt
Beiträge: 4.155
|
...ok, wenn hier schon mehere basteln, dann stell ich mal eine fla zum Basteln zur Verfügung, eingefügt ist meine funktion, mit der alles so funktioniert wie ich mir das vorstelle...
__________________ -Spuckt mir auf den Stuhl, ich will im Grünen sitzen- |
| | |
| | #8 (permalink) |
| hmmmmm... Registriert seit: Feb 2004 Ort: deutschland
Beiträge: 112
|
@Janoscharlipp deine letzte version ist doch eigentlich schon perfekt.... meine idee waere jetzt das hier gewesen: ActionScript:
gruesse, kenichi |
| | |
| | #9 (permalink) |
| Level up Registriert seit: Jun 2001 Ort: Bocholt
Beiträge: 4.155
|
...funzt net... nochmal zur Erklärung, Janoscharlipp's funktion gibt schon richtige Werte zurück...allerdings nur positive, dann weiss flash zwar, daß mc xy sich z.B. um 120 Grad drehen müsste um einen gewissen Zielwinkel zu erreichen, aber immer noch nicht ob es nach links oder rechts gehen soll...einfach mal die meine fla runterladen und testen und dann die funktion durch andere hier gepostete austauschen....
__________________ -Spuckt mir auf den Stuhl, ich will im Grünen sitzen- |
| | |
| | #10 (permalink) |
| muh Registriert seit: Apr 2002 Ort: Freiburg / Stuttgart
Beiträge: 4.338
|
Hi, wow, schon mal vielen Dank. Ifs sind sehr schnell, und Math.abs wird wohl auch nichts anderes machen, als intern mit einem if zu arbeiten... (in der Zwischenzeit glaube ich nicht, dass Flash noch irgendwas nicht simuliert...) Erstmal ging es mir schon darum, nur positive Werte zu erhalten. Was da das beste ist werde ich nachher mal durchtesten. Aber, du hast Recht Alois, ich habe zusätzlich auch noch das Problem mit dem Drehen, und dazu werde ich mir dann auch mal deine fla ansehen, vielen Dank. |
| | |
| | #11 (permalink) |
| muh Registriert seit: Apr 2002 Ort: Freiburg / Stuttgart
Beiträge: 4.338
|
hmm, ich habe mir mal dein fla angesehen, Alois. Ich komme auch zu keiner Besseren Lösung als du, nur habe ich das ganze noch auf Winkel jenseits von 360 Grad gemacht. (das ist für mich wichtig, da Teilweise Winkel hochlaufen) ActionScript:
und wie gesagt, IFs sind schnell!! In den meisten Fällen ist es besser ein paar ifs zu nehmen, statt monster Rechnungen und Ähnliches zu machen. Math.abs() scheint wirklich ein bissel optimiert zu sein, auf 10.000 durchläufe ist bei mir ein mit if nachgebautes abs 50ms langsamer (auf ~1.7s) Beschläunigen lässt sich das nur durch abs = Math.abs; Wie immer eben, Pfade sind die große Schwäche von Flash. |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |