public static AFTransform ByCSVector(CSVector pt) { return(new AFTransform(new double[3, 3] { { 1, 0, 0 }, { 0, 1, 0 }, { 0, 0, 1 } }, new double[3] { pt.X, pt.Y, pt.Z })); }
public override bool Equals(object obj) { CSVector casted = obj as CSVector; if (null == casted) { return(false); } return(this.Equals(casted)); }
public static AFTransform ByRotateAroundVector(CSVector vec, double theta) { double[,] rotateTransformArray = geometryUtils.RotateThetaToMatrix(theta); Vector <double> mathnetV = Vector <double> .Build.DenseOfArray(new double[3] { vec.X, vec.Y, vec.Z }); double[,] A = geometryUtils.VectorToStardardZTransform(mathnetV); double[,] AI = geometryUtils.inverseArrayMatrix(A); return((new AFTransform(A)) * (new AFTransform(rotateTransformArray)) * (new AFTransform(AI))); }
public bool Equals(CSVector cspt) { if (null == cspt) { return(false); } if (cspt.x == this.x && cspt.y == this.y && cspt.z == this.z) { return(true); } return(false); }