Encapsulate a request as an object, thereby letting you parameterize clients with different requests, queue or log requests, and support undoable operations.
But, I think here, we will get the simplest answer if we parameterize things by the Angle.
Say that I give you an ellipse in space as maybe the more, well, one exciting way to parameterize an ellipse in space is maybe the intersection of a cylinder with a slanted plane.
You can also parameterize as many aspects as you wish. Try adding color or ruler height as parameters, for example.
We know how to parameterize this line.