public static Vector2f Rotate(this Vector2f vector, double radians) { var vectorAngle = vector.Angle(); var length = vector.Length(); float x = (float)(length * Math.Cos(radians + vectorAngle)); float y = (float)(length * Math.Sin(radians + vectorAngle)); return new Vector2f(x, y); }
public static Vector2 ToPolar(this Vector2 vector) { return new Vector2(vector.Length(), vector.Angle()); }
public static Vector2 ToPolar(this Vector2 p) { return new Vector2(p.Length(), p.Angle()); }
// create new line segment from point to point, get angle public static double GetClockwise(this LineSegment active, LineSegment passive) { var anglea = active.Angle(); var angleb = passive.Angle(); return (angleb > anglea) ? angleb - anglea : (360 - anglea) + angleb; }
public static Vector2 ToPolar(this Vector2 vector) { float sqrMagnitude = vector.sqrMagnitude; if (sqrMagnitude <= 0f) return Vector2.zero; else return new Vector2(Mathf.Sqrt(sqrMagnitude), vector.Angle()); }
public static UnityEngine.Quaternion Rotation(this IRandom rng) { return UnityEngine.Quaternion.AngleAxis(rng.Angle(), rng.OnUnitSphere()); }
public static UnityEngine.Vector3 AroundAxis(this IRandom rng, Vector3 axis) { var a = rng.Angle(); if(VectorUtil.NearSameAxis(axis, Vector3.forward)) { return Quaternion.AngleAxis(a, axis) * VectorUtil.GetForwardTangent(Vector3.up, axis); } else { return Quaternion.AngleAxis(a, axis) * VectorUtil.GetForwardTangent(Vector3.forward, axis); } }
public static Vector2 Rotate(this Vector2 vector, float Angle) { float InitialAngle = vector.Angle(); float NewAngle = InitialAngle + Angle; return Vector2.Zero; }
public static float AngleInDegrees(this Vector2f vector) { return (float)(vector.Angle() / Math.PI * 180); }