Difference between revisions of "LlSin"

From Second Life Wiki
Jump to navigation Jump to search
 
(16 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{LSLFunctionAll
{{LSL_Function
|func=llSin
|inject-2={{LSL_Function/angle|theta}}
|func_id=0
|func=llSin|sort=Sin
|func_sleep=0.0
|func_id=0|func_sleep=0.0|func_energy=10.0
|func_energy=10.0
|func_footnote
|p1_type=float
|p1_type=float|p1_name=theta
|p1_name=theta
|p1_desc=angle expressed in radians.
|p2_type|p2_name|p2_desc
|p3_type|p3_name|p3_desc
|p4_type|p4_name|p4_desc
|p5_type|p5_name|p5_desc
|p6_type|p6_name|p6_desc
|p7_type|p7_name|p7_desc
|p8_type|p8_name|p8_desc
|p9_type|p9_name|p9_desc
|p10_type|p10_name|p10_desc
|p11_type|p11_name|p11_desc
|p12_type|p12_name|p12_desc
|return_type=float
|return_type=float
|return_text=that is the sine of 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
|examples
|constants
|func_helpers
|examples=<source lang="lsl2">// Touch the object with this script in it to see the sine of random numbers!
|also
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));
    }
}</source>
|helpers
|also_functions=
{{LSL DefineRow||[[llAsin]]|inverse Sine}}
{{LSL DefineRow|[[llCos]]|[[llAcos]]|cosine & inverse cosine}}
{{LSL DefineRow|[[llTan]]|[[llAtan2]]|tangent & inverse tangent}}
|also_events
|also_tests
|also_articles
|notes
|notes
|permission
|negative_index
|cat1
|cat2
|cat3
|cat4
|cat5=Math/Trigonometry
}}
}}
[[Category:LSL_Functions]]
[[Category:LSL_Math]]

Latest revision as of 15:11, 14 September 2015

Summary

Function: float llSin( float theta );

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

All Issues ~ Search JIRA for related Bugs

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

Search JIRA for related Issues

Signature

function float llSin( float theta );