public static double AngleBetween(FVec3 A, FVec3 B) { FVec3 tempA = A.Clone(); FVec3 tempB = B.Clone(); tempA.Normalise(); tempB.Normalise(); return(Math.Acos(FVec3.DotProduct(tempA, tempB))); }
public static FVec3 Truncate(FVec3 vec, float maxValue) { float val = vec.Length; if (val > maxValue) { vec.Normalise(); return(vec * maxValue); } else { return(vec); } }