- This wiki is out of date, use the continuation of this wiki instead
Sin
From FenixWiki
(Difference between revisions)
Revision as of 23:55, 8 July 2007 (edit) Sandman (Talk | contribs) m ← Previous diff |
Current revision (15:03, 1 March 2008) (edit) (undo) Sandman (Talk | contribs) m (→Example) |
||
(2 intermediate revisions not shown.) | |||
Line 21: | Line 21: | ||
To read about all aspects of trigonometry, you can click on Wikipedia's [http://en.wikipedia.org/wiki/Trigonometric_function Trigonometric function] page. | To read about all aspects of trigonometry, you can click on Wikipedia's [http://en.wikipedia.org/wiki/Trigonometric_function Trigonometric function] page. | ||
+ | |||
+ | == Example == | ||
+ | <pre> | ||
+ | Const | ||
+ | screen_width = 320; | ||
+ | screen_height = 200; | ||
+ | screen_border = 15; | ||
+ | End | ||
+ | |||
+ | Global | ||
+ | float value; | ||
+ | End | ||
+ | |||
+ | Process Main() | ||
+ | Begin | ||
+ | |||
+ | // Modes | ||
+ | set_title("Sine Graph"); | ||
+ | set_mode(screen_width,screen_height); | ||
+ | |||
+ | // X axis | ||
+ | for(x=1;x<=8;x++) | ||
+ | write( 0, | ||
+ | screen_border+x*(screen_width-screen_border)/8+3, | ||
+ | screen_height-1, | ||
+ | 8, | ||
+ | itoa(x*360/8 )+"^" ); | ||
+ | end | ||
+ | draw_line(1,screen_height-screen_border,screen_width,screen_height-screen_border); | ||
+ | |||
+ | // Y axis | ||
+ | write(0,screen_border-1,20,5,"1"); | ||
+ | write(0,screen_border-1,screen_height/2,5,"0"); | ||
+ | write(0,screen_border-1,screen_height-20,5,"-1"); | ||
+ | draw_line(screen_border,1,screen_border,screen_height-1); | ||
+ | |||
+ | // Draw tangent | ||
+ | for(angle=0;angle<360;angle++) | ||
+ | value=sin(angle*1000)*(screen_height/2-20); | ||
+ | put_pixel( screen_border+angle*(screen_width-screen_border)/360, | ||
+ | screen_height/2-value, | ||
+ | rgb(255,255,255) ); | ||
+ | // screen_height/2-value because the screen's origin (0,0) is topleft instead of downleft. | ||
+ | end | ||
+ | |||
+ | Repeat | ||
+ | frame; | ||
+ | Until(key(_ESC)) | ||
+ | |||
+ | End | ||
+ | </pre> | ||
+ | Used in example: [[set_title]](), [[set_mode]](), [[write]](), [[draw_line]](), [[sin]](), [[put_pixel]](), [[key]]() | ||
+ | |||
+ | This will result in something like:<br /> | ||
+ | {{Image | ||
+ | | image = Sin.png | ||
+ | | caption = Sine | ||
+ | }} | ||
+ | |||
+ | {{Funcbox | ||
+ | | category = Math | ||
+ | }} |
Current revision
Contents |
[edit] Definition
FLOAT sin ( <FLOAT angle> )
Returns the sine of the specified angle.
This function performs a sine calculation on a certain angle and returns a value between -1 and 1.
[edit] Parameters
FLOAT angle | - Angle, in thousandths of degrees. i.e. 75000 = 75º |
[edit] Returns
FLOAT : The sine result of the specified angle.
[edit] Notes
The angle value used in this function should be in thousandths of degrees, as most angles within Fenix are.
To read about all aspects of trigonometry, you can click on Wikipedia's Trigonometric function page.
[edit] Example
Const screen_width = 320; screen_height = 200; screen_border = 15; End Global float value; End Process Main() Begin // Modes set_title("Sine Graph"); set_mode(screen_width,screen_height); // X axis for(x=1;x<=8;x++) write( 0, screen_border+x*(screen_width-screen_border)/8+3, screen_height-1, 8, itoa(x*360/8 )+"^" ); end draw_line(1,screen_height-screen_border,screen_width,screen_height-screen_border); // Y axis write(0,screen_border-1,20,5,"1"); write(0,screen_border-1,screen_height/2,5,"0"); write(0,screen_border-1,screen_height-20,5,"-1"); draw_line(screen_border,1,screen_border,screen_height-1); // Draw tangent for(angle=0;angle<360;angle++) value=sin(angle*1000)*(screen_height/2-20); put_pixel( screen_border+angle*(screen_width-screen_border)/360, screen_height/2-value, rgb(255,255,255) ); // screen_height/2-value because the screen's origin (0,0) is topleft instead of downleft. end Repeat frame; Until(key(_ESC)) End
Used in example: set_title(), set_mode(), write(), draw_line(), sin(), put_pixel(), key()
This will result in something like:
|
Math Functions | |
• Abs() • Acos() • Asin() • Atan() • Cos() • Fget_angle() • Fget_dist() • Get_distx() • Get_disty() • Pow() • Rand() • Rand_seed() • Sin() • Sqrt() • Tan() • |