Zurück   Flashforum > Flash > ActionScript > Softwarearchitektur und Entwurfsmuster

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 23-04-2009, 14:07   #1 (permalink)
°
 
Benutzerbild von echo5-7
 
Registriert seit: Aug 2002
Ort: Baden-Baden
Beiträge: 4.330
Sinus von 180° == 1.2246063538223773e-16

Hi,
ich wollte grade schauen ob ich es hinbekomme eine Sinuskurve mit AS3 zu zeichen. Dazu hab ich mir erstmal die Werte angeschaut die mir die Math.sin() Methode für beliebige Parameter ausspruckt.

Math.sin((Math.PI * 90) / 180) == 1; das ist mir klar.
Math.sin((Math.PI * 180) / 180); warum das aber 1.22 ... gibt, ist mir nicht so ganz klar.

Ich könnte ja auch die Angaben zwischen 0 und 90 rauf und runter fahren lassen, aber da kann ich ja auch gleich beliebige Werte nehmen, und daraus eine Kurve bauen.

Weiß jemand warum das so ist?

Gruß
echo
__________________

LRRM | BLOG | FACEBOOK | TWITTER | G+ | INSTACANV.AS
echo5-7 ist offline   Mit Zitat antworten
Alt 23-04-2009, 14:22   #2 (permalink)
ChronoGuard
 
Benutzerbild von SpecOps-12
 
Registriert seit: Mar 2002
Ort: Saarbrücken
Beiträge: 2.654
Edit: Sorry, hab geantwortet, bovor ich mir's wirklich durchgelesen hab.
Was hast du denn mit diesen zwei Berechnungen vor?
__________________
we will stop enhancing the truth in 3, 2, ...
SpecOps-12 ist offline   Mit Zitat antworten
Alt 23-04-2009, 14:32   #3 (permalink)
Flashworker
 
Benutzerbild von sebastian
 
Registriert seit: Nov 2001
Ort: Wiesbaden
Beiträge: 10.935
Das ist nicht 1,22

sondern

1,22 * 10^-16
sebastian ist offline   Mit Zitat antworten
Alt 23-04-2009, 14:41   #4 (permalink)
°
 
Benutzerbild von echo5-7
 
Registriert seit: Aug 2002
Ort: Baden-Baden
Beiträge: 4.330
eigentlich wollte ich nur eine sinuskurve zeichnen, wirklich vor hab ich damit noch nichts. mich hat es nur erstaunt, dass bei 180° so ein langer wert rauskommt. irgendwie ist mir ja auch klar, dass das mathematisch nicht ganz hinkommen kann, wenn die winkelsumme im dreieck schon 180° beträgt. aber irgendwie müssen doch die ganzen anderen sinus kurven gezeichnet werden? wird das vielleicht über radianten gemacht?
__________________

LRRM | BLOG | FACEBOOK | TWITTER | G+ | INSTACANV.AS
echo5-7 ist offline   Mit Zitat antworten
Alt 23-04-2009, 15:01   #5 (permalink)
ChronoGuard
 
Benutzerbild von SpecOps-12
 
Registriert seit: Mar 2002
Ort: Saarbrücken
Beiträge: 2.654
((Math.PI * 180) / 180) ist Math.PI und der Sinus davon ist als Radiant ausgedrückt.

0.000000000000000122460 rad

Hätt ich jetzt mal gesagt.
__________________
we will stop enhancing the truth in 3, 2, ...
SpecOps-12 ist offline   Mit Zitat antworten
Alt 23-04-2009, 15:04   #6 (permalink)
hmmm
 
Registriert seit: Dec 2003
Beiträge: 224
PHP-Code:
graphics.lineStyle(1);
graphics.moveTo(0200);
for (var 
i:Number 0i<2*Math.PIi+= .02) {
    
graphics.lineTo(40200 Math.sin(i) * 100);

geht doch ich glaube du stehst nur etwas auf dem schlauch gerade. dein wert ist nicht 1.22, sonder 1.22 * 10^-16. und das ist "fast" 0. liegt daran, dass Math.PI != dem echten wert von PI ist. deshalb diese kleine abweichung.

oder hab ich jetzt das problem nicht verstanden?
astrocreep ist offline   Mit Zitat antworten
Alt 23-04-2009, 15:15   #7 (permalink)
Flashworker
 
Benutzerbild von sebastian
 
Registriert seit: Nov 2001
Ort: Wiesbaden
Beiträge: 10.935
Eben. Der Wert ist quasi 0. Für die minimalen Abweichungen (im Bereich 10^-16)
sind verschiedene Ursachen verantwortlich. Ungenaue Ausgangswerte,
Annährungsverfahren etc.

Man muss nur wissen, dass 1*10^-16 nicht 1 ist, sondern 0
sebastian ist offline   Mit Zitat antworten
Alt 23-04-2009, 15:40   #8 (permalink)
°
 
Benutzerbild von echo5-7
 
Registriert seit: Aug 2002
Ort: Baden-Baden
Beiträge: 4.330
aaaaah *erleuchtung*!
ich hab das nicht kapiert, was das ^-16 sein sollte...
__________________

LRRM | BLOG | FACEBOOK | TWITTER | G+ | INSTACANV.AS
echo5-7 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 09:15 Uhr.

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


Copyright ©1999 – 2014 Marc Thiele