Action!: Trigonometrische Funktion


Action!: Trigonometrische Funktion

von matti1104 » Mo 11. Jul 2011, 15:47
Hallo Leute,
was muss ich machen, damit ich unter Action! trigonometrische Funktion nutzen kann?

Danke für Eure Hilfe,
Mathias

Re: Action!: Trigonometrische Funktion

von eda70 » Mo 11. Jul 2011, 16:51
Man kann mit einer Wertetabelle arbeiten.
Direkt geht es nicht, da es in Action! meines Wissens keine trigonometrischen Funktionen gibt und Action "nur" 2-Byte-Ganzzahlen kennt.


Nachtrag:
Mit REAL.ACT von der Action!-Tooldisk kann man die (System-) Fliesskommaroutinen für Action! nutzen.
Keine Ahnung wo die Routinen für trigonometrische Funktionen liegen (gehören die zu BASIC?)
vielleicht kann man da analog drauf zugreifen?

Re: Action!: Trigonometrische Funktion

von matti1104 » Mo 11. Jul 2011, 19:18
Hallo Eda70,

danke für den Tip. Ich glaube die trigonometrischen Funktionen gehören sogar zu Betriebssystem, oder?
Nur wie kann ich die dann von Action! aus aufrufen? :? Hmmm...

Gruß,
Mathias

Re: Action!: Trigonometrische Funktion

von eda70 » Mo 11. Jul 2011, 20:20
Ich glaube, sie gehören nicht zum Betriebssystem - gehören m.E. zu Basic, aber ich kann mich täuschen.
Die Fließkommaroutinen liegen ab $D800 - sind im Profibuch aufgelistet.
Wie man diese einbinden kann, kann man wie gesagt, der Tool-Disk von OSS (z.B. hier) entnehmen.

Am einfachsten und am schnellsten (Rechenzeit) geht es wohl mit einer Nachschlagetabelle, in der die vorberechneten Werte abgelegt werden...

Re: Action!: Trigonometrische Funktion

von matti1104 » Mo 11. Jul 2011, 20:42
eda70 hat geschrieben:Ich glaube, sie gehören nicht zum Betriebssystem - gehören m.E. zu Basic, aber ich kann mich täuschen.
Die Fließkommaroutinen liegen ab $D800 - sind im Profibuch aufgelistet.
Wie man diese einbinden kann, kann man wie gesagt, der Tool-Disk von OSS (z.B. hier) entnehmen.

Am einfachsten und am schnellsten (Rechenzeit) geht es wohl mit einer Nachschlagetabelle, in der die vorberechneten Werte abgelegt werden...



Alles klar, also mache ich mir einfach ein Fließkomma Array von 0 bis 359 zurecht und lege die vorberechneten Werte darin ab...

Re: Action!: Trigonometrische Funktion

von atarixle » Di 12. Jul 2011, 19:30
So viele brauchst du gar nicht, die Werte von 0 bis 90 (bzw. 89) reichen aus. Die restlichen Werte lassen sich durch Addition, Subtraktion und Vorzeichenwechsel ermitteln:

sin(0 bis 90) = sin(0 bis 90)
sin(90 bis 180) = sin(90 bis 0)
sin(180 bis 270) = -sin(0 bis 90)
sin(270 bis 369) = -sin(90 bis 0)

cos(0 bis 90) = sin(90 bis 0)
cos(90 bis 180) = -sin(0 bis 90)
cos(180 bis 270) = -sin(90 bis 0)
cos(270 bis 360) = sin(0 bis 90)

Re: Action!: Trigonometrische Funktion

von matti1104 » Di 12. Jul 2011, 21:58
atarixle hat geschrieben:So viele brauchst du gar nicht, die Werte von 0 bis 90 (bzw. 89) reichen aus. Die restlichen Werte lassen sich durch Addition, Subtraktion und Vorzeichenwechsel ermitteln:

sin(0 bis 90) = sin(0 bis 90)
sin(90 bis 180) = sin(90 bis 0)
sin(180 bis 270) = -sin(0 bis 90)
sin(270 bis 369) = -sin(90 bis 0)

cos(0 bis 90) = sin(90 bis 0)
cos(90 bis 180) = -sin(0 bis 90)
cos(180 bis 270) = -sin(90 bis 0)
cos(270 bis 360) = sin(0 bis 90)


Hallo,

alles klar. Da mach ich mir mal eine Sin/Cos.act Lib zurecht. Danke für den Tip!

Gruß,
Mathias

Re: Action!: Trigonometrische Funktion

von mp-one » Mo 18. Jul 2011, 09:29
Hallo Mathias,

Du solltest Dir auch das "Action! Toolkit" anschauen, es bietet Routinen zum Ansprechen der internen Fließkomma-Routinen. Action! hat ja von Haus aus keinen Real-Datentyp. Das Toolkit rüstet das, wenn auch mit den langsamen OS-Routinen, nach. Eine Sinus-Funktion enthält es aber nicht. Die ist auch nicht Teil der OS-Routinen. Das FP-Paket des OS bietet jedoch eine Polynom-Routine, die vermutlich vom BASIC benutzt wird, um Sinus etc. anzunähern. Nähere Infos dazu auch im Profibuch...

Gruß,

Michael

Re: Action!: Trigonometrische Funktion

von matti1104 » Mo 18. Jul 2011, 09:45
mp-one hat geschrieben:Hallo Mathias,

Du solltest Dir auch das "Action! Toolkit" anschauen, es bietet Routinen zum Ansprechen der internen Fließkomma-Routinen. Action! hat ja von Haus aus keinen Real-Datentyp. Das Toolkit rüstet das, wenn auch mit den langsamen OS-Routinen, nach. Eine Sinus-Funktion enthält es aber nicht. Die ist auch nicht Teil der OS-Routinen. Das FP-Paket des OS bietet jedoch eine Polynom-Routine, die vermutlich vom BASIC benutzt wird, um Sinus etc. anzunähern. Nähere Infos dazu auch im Profibuch...

Gruß,

Michael


Hi Michael,

alles klar und danke für die Tips. Ein entsprechedes ACT Modul ist in Arbeit.

Gruß,
Mathias

Re: Action!: Trigonometrische Funktion

von matti1104 » Mo 18. Jul 2011, 09:51
atarixle hat geschrieben:So viele brauchst du gar nicht, die Werte von 0 bis 90 (bzw. 89) reichen aus. Die restlichen Werte lassen sich durch Addition, Subtraktion und Vorzeichenwechsel ermitteln:

sin(0 bis 90) = sin(0 bis 90)
sin(90 bis 180) = sin(90 bis 0)
sin(180 bis 270) = -sin(0 bis 90)
sin(270 bis 369) = -sin(90 bis 0)

cos(0 bis 90) = sin(90 bis 0)
cos(90 bis 180) = -sin(0 bis 90)
cos(180 bis 270) = -sin(90 bis 0)
cos(270 bis 360) = sin(0 bis 90)


Hallo Mirko,

das ist ein top Tip. So werde ich rangehen.

Gruß,
Mathias