float llCos(float arg)
Return the cosine of the argument. The argument should be an angle in radians.
A float with the angle whose cosine is to be found, in radians.
A float with the cosine of the argument.
float F; F = llCos(1); // Sets F to approx. 0.540302, because that's the cosine of 1 radian. F = llCos(-1); // Sets F to approx. 0.540302 too, // because the cosine of -1 radian equals the cosine of 1 radian. F = llCos(0); // Sets F to 1, because that's the cosine of 0. F = llCos(PI); // Sets F to -1, which is the cosine of PI. F = llCos(1e20); // Sets F to 1e20 because 1e20 is returned unchanged.
llCos is very frequently used together with llSin
, as llCos gives the X component and llSin the Y component of a unit 2D vector at the given angle.
default { state_entry() { llOwnerSay("Calculate a vector at an angle. Please say the angle in chat."); llListen(0, "", llGetOwner(), ""); } listen(integer chan, string name, key id, string msg) { float angle = (float)msg * DEG_TO_RAD; llOwnerSay("Input angle: " + msg + "; resulting vector: (" + (string)llCos(angle) + ", " + (string)llSin(angle) + ")"); } }
The opposite calculation, i.e. finding the angle of a 2D vector, can be performed with llAtan2
.