void Normalize() { if (IsZero) return; //X, Y and Z are 0: it would set each component to NaN. float length = (float)Math.Sqrt(X * X + Y * Y + Z * Z); X /= length; Y /= length; Z /= length; }
02 March 2021
Math - Normalize a 3D vector
This method is part of the Vector3 class, and changes the vector into a unit vector.
Math - Calculate a normal vector from three position vectors
This Vector3 constructor calculates a surface normal from three 3D vectors.
public Vector3(Vector3 a, Vector3 b, Vector3 c) { var u = b - a; //Requires an overloaded minus var v = c - a; //operator for two vector3's. X = (u.Y * v.Z) - (u.Z * v.Y); Y = (u.Z * v.X) - (u.X * v.Z); Z = (u.X * v.Y) - (u.Y * v.X); Normalize(); }
Subscribe to:
Posts (Atom)