public static Mat4 Translate(Vect3 v) { return(Translate(v.X, v.Y, v.Z)); }
public Swizzle(Vect3 v) { _members.Add('X', v.X); _members.Add('Y', v.Y); _members.Add('Z', v.Z); }
public Vect3 CrossProduct(Vect3 v) { return(new Vect3(Y * v.Z - Z * v.Y, Z * v.X - X * v.Z, X * v.Y - Y * v.X)); }
public double DotProduct(Vect3 v) { return(X * v.X + Y * v.Y + Z * v.Z); }
public Vect3(Vect3 v) { X = v.X; Y = v.Y; Z = v.Z; }
public static Vect3 Lerp(Vect3 start, Vect3 end, double percent) { return(start + percent * (end - start)); }
public Vect3 Lerp(Vect3 end, double t) { return((1 - t) * this + t * end); }
protected bool Equals(Vect3 other) { return(X.NearlyEquals(other.X) && Y.NearlyEquals(other.Y) && Z.NearlyEquals(other.Z)); }
/// <summary> /// Calculate the Cross Product /// </summary> /// <param name="b">Other Vector</param> /// <returns>Cross Product</returns> public Vect3 CrossProduct(Vect3 b) { return(new Vect3(Y * b.Z - Z * b.Y, Z * b.X - X * b.Z, X * b.Y - Y * b.X)); }