docs: @Pure
  	public final Transform2D toTransform2D(double startX, double startY, double endX, double endY) {
  		final Transform2D trans = new Transform2D();
  
  		final Vector2d direction = new Vector2d(endX - startX, endY - startY);
  
  		final Vector2d shiftVector = direction.toOrthogonalVector();
  
  		double c = this.curvilineTranslation;
  		double j = this.shiftTranslation;
  
  		if (!this.firstSegmentDirection.isSegmentDirection()) {
  			c = -c;
  			j = -j;
  		}
  
  		shiftVector.scale(j);
  
  		direction.normalize();
  		direction.scale(c);
  		direction.add(shiftVector);
  
  		trans.setTranslation(direction);
  
  		return trans;
  	}