Difference between revisions of "LlSin"

From Second Life Wiki
Jump to navigation Jump to search
m
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{LSL_Function
{{LSL_Function
|inject-2={{LSL_Function/angle|theta}}
|func=llSin|sort=Sin
|func=llSin|sort=Sin
|func_id=0|func_sleep=0.0|func_energy=10.0
|func_id=0|func_sleep=0.0|func_energy=10.0
|func_footnote
|func_footnote
|p1_type=float|p1_name=theta|p1_desc=angle expressed in radians.
|p1_type=float|p1_name=theta
|return_type=float
|return_type=float
|return_text=that is the sine of {{LSLP|theta}}.
|return_text=that is the sine of {{LSLP|theta}}.
|spec
|spec
|caveats
|caveats=Because of IEE754 on floats , llSin(PI) returns -8.742278E-8 ( hex : 0xB3BBBD2E ) and not 0.0 . The error is cumulative with multiples of PI : For instance  llSin(100000.0*PI) = 0.015890 when the result should be 0.0
|constants
|constants
|examples=<lsl>// Touch the object with this script in it to see the sine of random numbers!
|examples=<source lang="lsl2">// Touch the object with this script in it to see the sine of random numbers!
default
default
{
{
Line 17: Line 18:
         llOwnerSay("The sine of " + (string)r + " in radians or " + (string)(r * RAD_TO_DEG) + " in degrees is " + (string)llSin(r));
         llOwnerSay("The sine of " + (string)r + " in radians or " + (string)(r * RAD_TO_DEG) + " in degrees is " + (string)llSin(r));
     }
     }
}</lsl>
}</source>
|helpers
|helpers
|also_functions=
|also_functions=

Latest revision as of 14:11, 14 September 2015

Summary

Function: float llSin( float theta );
0.0 Forced Delay
10.0 Energy

Returns a float that is the sine of theta.

• float theta angle expressed in radians

Caveats

Because of IEE754 on floats , llSin(PI) returns -8.742278E-8 ( hex : 0xB3BBBD2E ) and not 0.0 . The error is cumulative with multiples of PI : For instance llSin(100000.0*PI) = 0.015890 when the result should be 0.0

Examples

// Touch the object with this script in it to see the sine of random numbers!
default
{
    touch_start(integer num)
    {
        float r = llFrand(TWO_PI);
        llOwnerSay("The sine of " + (string)r + " in radians or " + (string)(r * RAD_TO_DEG) + " in degrees is " + (string)llSin(r));
    }
}

See Also

Functions

•  llAsin inverse Sine
• llCos llAcos cosine & inverse cosine
• llTan llAtan2 tangent & inverse tangent

Deep Notes

Signature

function float llSin( float theta );