/// <summary> /// Return normalized vector of v multiplied by a scalar /// </summary> /// <param name="point">Vector</param> /// <returns></returns> public static I2dCartesianCoordinates <double> Normalize(I2dCartesianCoordinates <double> point, double scalar = 1.0) { var norm = Norm(point); var p = new Point2d(); if (norm > 0) { p.SetCartesian(scalar * point.X / norm, scalar * point.Y / norm); } return(p); }
public void SetCartesian(I2dCartesianCoordinates <double> p) { X = p.X; Y = p.Y; Z = 0.0; }
/// <summary> /// Return the cross product: v1 x v2 /// </summary> /// <param name="v1">2d vector</param> /// <param name="v2">2d vector</param> public static I3dCartesianCoordinates <double> CrossProduct(I2dCartesianCoordinates <double> v1, I2dCartesianCoordinates <double> v2) { var Z = (v1.X * v2.Y) - (v1.Y * v2.X); return(new Point3d(0.0, 0.0, Z)); }
public Point2d(I2dCartesianCoordinates <double> p) { SetCartesian(p); }