public IVector3 RotateZ(IVector3 rotationPt, double angleRad) { IVector3 ptTrans = Translate(rotationPt.MultiplyBy(-1)); Rotation rot = new Rotation(); IVector3 ptRot = rot.AboutZ(angleRad) * ptTrans; IVector3 ptOut = ptRot.Translate(rotationPt); ptOut.Col = Col; return(ptOut); }