Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 24-02-2006, 12:46   #1 (permalink)
AAI
 
Benutzerbild von AAI
 
Registriert seit: May 2004
Beiträge: 327
Winkeldifferenz

hi,

ich suche einen Wert. Er resultiert
aus dem ist-Winkel und dem soll-
Winkel eines Objektes.

In den meisten Fällen ist das auch
kein Problem. Die Schwierigkeit liegt
in dem Gebiet um 360° bzw. 0°. Dort
führen die Berechnungen zwangsläufig
zu unbrauchbaren Ergebnissen.

Für einen Denkanstoß wäre ich sehr
dankbar. Einem Beispiel bin jedoch
auch nicht abgeneigt.

Gruß
AAI ist offline   Mit Zitat antworten
Alt 24-02-2006, 12:49   #2 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Kannste da nicht mal kurz ein Beispiel präsentieren damit man weis was du genau umgehen willst?
__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Alt 24-02-2006, 12:58   #3 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
da sollte was dabei sein:
http://www.seibsprogrammladen.de/fra...ispiele/flash7
-> Position
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 24-02-2006, 13:12   #4 (permalink)
Banned
 
Benutzerbild von _level0
 
Registriert seit: Jan 2006
Beiträge: 849
Zitat:
Zitat von AAI
Für einen Denkanstoß wäre ich sehr
dankbar.
F1

%
_level0 ist offline   Mit Zitat antworten
Alt 24-02-2006, 13:14   #5 (permalink)
AAI
 
Benutzerbild von AAI
 
Registriert seit: May 2004
Beiträge: 327
@rendner[i]
danke für dein Interesse

Beschreibung:
Ein Objekt richtet sich an einem Punkt aus,
und nimmt immer den kürzesten Winkel!

Mit dieser Formel macht es das auch...
Code:
	if(w_soll>w_ist and w_soll<w_ist+180 or w_soll<w_ist-180 ){
		_this._rotation+=speed
		}else{
			_this._rotation-=speed
			}

//  Werte wurden auf volle 360° angepasst
Jedoch bleibt der Differenzwert nicht sicher,
den ich benötige, um eine nichtlineare Winkel-
annäherung zu erreichen - das 360/0°Problem.

Bsp:
ist-wert = 3°
soll-wert = 353°
Differenz = -10

Bsp:
ist-wert = 353°
soll-wert = 3°
Differenz = 10

Bsp:
ist-wert = 90°
soll-wert = 280°
Differenz = -170

Das Problem ist eine Formel, die diese Ergebnisse
liefert.
AAI ist offline   Mit Zitat antworten
Alt 24-02-2006, 13:44   #6 (permalink)
Banned
 
Benutzerbild von _level0
 
Registriert seit: Jan 2006
Beiträge: 849
PHP-Code:
Ist-Soll<180 Ist-Soll>-180 _this._rotation+=speed _this._rotation-=speed
_level0 ist offline   Mit Zitat antworten
Alt 24-02-2006, 14:33   #7 (permalink)
AAI
 
Benutzerbild von AAI
 
Registriert seit: May 2004
Beiträge: 327
schön

Das liefert aber keinen Wert.



Glaube, komme jetzt allein zurecht -
ist ja nicht soo schwer. Es war auf
jeden Fall hilfreich, die Gedanken zum
Thema einmal niederzuschreiben.

Danke&Gruß
AAI ist offline   Mit Zitat antworten
Alt 27-02-2006, 10:16   #8 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Da du ja noch immer keine Lösung gepostet hast nehme ich an das das problem noch immer besteht.
Habe es jetzt nicht ausführlich getestet jedoch hauts bei deinen Beispielen hin.
PHP-Code:
function aistNumber sollNumber ): Number
{
    var 
s1Numbers2Number;
    
    if( 
soll == 360 soll 0;
    if( 
ist  == 360 ist  0;
    
    if( 
soll ist )
    {
        
s1 = -( 360 soll ist );
        
s2 soll ist;
    }
    else
    {
        
s1 360 ist soll;
        
s2 = -( ist soll );
    }
    
    return 
Math.abss1 ) > Math.abss2 ) ? s2 s1;

__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Alt 27-02-2006, 21:16   #9 (permalink)
AAI
 
Benutzerbild von AAI
 
Registriert seit: May 2004
Beiträge: 327
danke rendner[i]

das sieht gut aus. Meine Gedanken
gingen in eine ähnliche Richtung.

Die Ergebnisse überzeugen.

Werde bei Gelegenheit zeigen,
was das mal wird.

PHP-Code:
return Math.abss1 ) > Math.abss2 ) ? s2 s1
Du verwendest eine Kurzschreibweise,
die mir ein wenig Schwierigkeiten bereitet,
den Code richtig zu interpretieren.
Für diejenigen, denen es ebenso geht,
hier die traditionelle Schreibweise...

PHP-Code:
if (Math.abs(s1)>Math.abs(s2)) {
    return(
s2)
}else{
    return(
s1)
    } 
edit:
... zugegeben, die Kurzschreibweise sieht
schon irgendwie eleganter aus...
(wenn man sie erst mal verstanden hat)

Geändert von AAI (27-02-2006 um 21:24 Uhr)
AAI 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 13:39 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele