- Home /
sin error invee sin error
I have a angle : float 180. I've converted it to rad angle * Mathf.DegToRad; Im trying to get the sin, cos and InvSin. cos is fine -1 but sin is wrong Im getting -8.742278E-08, and inverse is giving me an error. the code is as follows id appreciate any help as i am new to this. Thanks
function MatrixOp (theta : float, axis : String){
var op = mO();
print(theta);
//setup
op.angleInRad = theta * Mathf.Deg2Rad;
print("angleInRad " + op.angleInRad);
op.cosQ = Mathf.Cos(op.angleInRad);
print("cos " + op.cosQ);
//returns right answer
op.sinQ = Mathf.Sin(op.angleInRad);
print("sin " + op.sinQ);
//returns wrong answer
op.inverseSinAngle = Mathf.Asin(op.angleInRad);
print("inversSin " + op.inverseSinAngle);
//returns error
}
Answer by robertbu · Feb 09, 2014 at 05:32 PM
The Sine of 180 degrees is 0. What you are getting is '-.00000008742278' which is really near zero and the kind of value you will get given the imprecision of floating point math. There are lots of posts on UA about the imprecision of floating point math.
Your answer
Follow this Question
Related Questions
Camera Rotation 1 Answer
Move and Rotate player in circular motion? 2 Answers
simulate a circle move 2 Answers
Choose starting point/angle for rotation with cos and sin 0 Answers
Move In Circle relative to rotation. 1 Answer