This wiki is out of date, use the continuation of this wiki instead

Sin

From FenixWiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 15:01, 1 March 2008 (edit)
Sandman (Talk | contribs)
m
← Previous diff
Current revision (15:03, 1 March 2008) (edit) (undo)
Sandman (Talk | contribs)
m (Example)
 
Line 68: Line 68:
Repeat Repeat
frame; frame;
- Until(key(_esc))+ Until(key(_ESC))
End End

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:

Image:Sin.png
Sine


Math Functions
Abs() • Acos() • Asin() • Atan() • Cos() • Fget_angle() • Fget_dist() • Get_distx() • Get_disty() • Pow() • Rand() • Rand_seed() • Sin() • Sqrt() • Tan() •
Personal tools