public FixVector3 GetNormalized()
        {
            FixVector3 v = new FixVector3(this);

            v.Normalize();
            return(v);
        }
 public static FixVector3 Lerp(FixVector3 from, FixVector3 to, Fix64 factor)
 {
     return(from * (1 - factor) + to * factor);
 }
 public static Fix64 Magnitude(FixVector3 a)
 {
     return(Fix64.Sqrt(FixVector3.SqrMagnitude(a)));
 }
 public static Fix64 Distance(FixVector3 a, FixVector3 b)
 {
     return(Magnitude(a - b));
 }
 public static Fix64 SqrMagnitude(FixVector3 a)
 {
     return(a.x * a.x + a.y * a.y + a.z * a.z);
 }
 public FixVector3(FixVector3 v)
 {
     this.x = v.x;
     this.y = v.y;
     this.z = v.z;
 }