public const float kEpsilon = 0.00001F;
public Vector3(float x, float y, float z) { this.x = x; this.y = y; this.z = z; }
static readonly Vector3 zeroVector = new Vector3(0F, 0F, 0F);
public static Vector3 zero { get { return zeroVector; } }
public static float Magnitude(Vector3 vector) { return (float)Math.Sqrt(vector.x * vector.x + vector.y * vector.y + vector.z * vector.z); }
public static Vector3 operator/(Vector3 a, float d) { return new Vector3(a.x / d, a.y / d, a.z / d); }
float mag = Magnitude(this);
public override string ToString()
private Vector3 targetDirection;
public Vector3 TargetDirection { get { return targetDirection; } }
public Vector3 TargetDirectionEx { get; private set; }
targetDirection = new Vector3(5, 1, 10);
TargetDirectionEx = targetDirection;
public void DoNormalize()
targetDirection.Normalize();
var someClass = new SomeClass();
Console.WriteLine(someClass.TargetDirectionEx);
someClass.TargetDirectionEx.Normalize();
Console.WriteLine(someClass.TargetDirectionEx);