Difference between revisions of "LlSin"
Jump to navigation
Jump to search
All Issues ~ Search JIRA for related Bugs
(→Notes) |
|||
(21 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{LSL_Function | ||
|inject-2={{LSL_Function/angle|theta}} | |||
|func=llSin|sort=Sin | |||
|func_id=0|func_sleep=0.0|func_energy=10.0 | |||
| | |func_footnote | ||
| | |p1_type=float|p1_name=theta | ||
== | |return_type=float | ||
|return_text=that is the sine of {{LSLP|theta}}. | |||
* | |spec | ||
|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 | |||
| | |examples=<source lang="lsl2">// 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)); | |||
} | |||
| | }</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 | ||
|permission | |||
|negative_index | |||
| | |cat1 | ||
| | |cat2 | ||
|cat3 | |||
|cat4 | |||
|cat5=Math/Trigonometry | |||
}} | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
Latest revision as of 15:11, 14 September 2015
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Summary
Function: float llSin( float theta );0 | Function ID |
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));
}
}