public static FloatL Acos(FloatL f) { //return Math.Acos(f.ToDouble()); int num = (int)FixPointMath.Divide(f.m_numerator * (long)AcosLookupTable.HALF_COUNT, FloatL.m_denominator) + AcosLookupTable.HALF_COUNT; num = FixPointMath.Clamp(num, 0, AcosLookupTable.COUNT); return(new FloatL((long)AcosLookupTable.table[num]) / new FloatL(10000)); }
public static FloatL Vector3L_Angle(Vector3L from, Vector3L to) { Debug.Log("x " + to.normalized.x + " y " + to.normalized.y + " z " + to.normalized.z); FloatL dot = Vector3L.Dot(from.normalized, to.normalized); Debug.Log("dotL " + dot); FloatL acos = FixPointMath.Acos(FixPointMath.Clamp(dot, -1f, 1f)); Debug.Log("acosL " + acos); return(acos * 57.29578d); }
public static FloatL Angle(Vector2L from, Vector2L to) { return(FixPointMath.Acos(FixPointMath.Clamp(Vector2L.Dot(from.normalized, to.normalized), -1, 1)) * 57.29578d); }