float llTan(float arg)
Return the trigonometric tangent of the argument. The argument should be an angle in radians.
Angle whose tangent is to be found, in radians.
A float with the tangent of the argument.
float F; F = llTan(1); // Sets F to approx. 1.557408, which is the tangent of 1 radian. F = llTan(-1); // Sets F to approx. -1.557408, because that's the tangent of -1 radian. F = llTan(0); // Sets F to 0, because that's the tangent of 0. F = llTan(PI); // Sets F to approximately 0, which is the tangent of PI. // It isn't exactly 0 because of rounding/calculation errors. F = llTan(1e20); // Sets F to 1e20 because 1e20 is returned unchanged.
The tangent gives you the slope of an angle, that is, how much you advance vertically per each unit you advance horizontally.
default { state_entry() { llOwnerSay("Calculate the slope given the 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("For an input angle of " + msg + ", you climb " + (string)llTan(angle) + " m per each horizontal m"); } }