/// <summary> /// Projects this vector on the given plane /// </summary> public Vector ProjectOntoPlane(Plane plane) { //find the line in the plane and then project this line onto it Point newBasePoint = BasePoint.ProjectOntoPlane(plane); Point newEndPoint = EndPoint.ProjectOntoPlane(plane); return(new Vector(newBasePoint, newEndPoint)); }
/// <summary> /// Projects the given line onto the Plane /// </summary> /// <param name="projectOnto">The Plane to Project this Line onto</param> /// <returns>Returns a new Line that is this Line projected onto the Plane</returns> public Line ProjectOntoPlane(Plane projectOnto) => new Line(Direction.RejectDirection(projectOnto.NormalDirection), BasePoint.ProjectOntoPlane(projectOnto));