public static Fix32 Cos(Fix32 theta) { Fix32 sin = Sin(theta); Fix32 cos = Fix32.Sqrt(Fix32.One - (sin * sin)); if (Fix32.Pi / (Fix32)2 < theta && theta < Fix32.Pi * (Fix32)3 / (Fix32)2) { cos = -cos; } else if (-Fix32.Pi * (Fix32)3 / (Fix32)2 < theta && theta < -Fix32.Pi / (Fix32)2) { cos = -cos; } return(cos); }
/// <summary> /// Returns the euclidean distance between two coordinates. /// Note: Heavier than DistanceSquared, because of the Sqrt call. /// </summary> /// <param name="v1">first position</param> /// <param name="v2">second position</param> /// <returns>distance between the points</returns> public static Fix32 Distance(Vector3F v1, Vector3F v2) { return(Fix32.Sqrt(DistanceSquared(v1, v2))); }
public static Fix32 SinToCos(Fix32 sin) { return(Fix32.Sqrt(Fix32.One - (sin * sin))); }