Hi,
Here is a shape of perspective vertical cylinder.
Size and view can be changed with control handles.
If the cylinders are connected to the vanishing points,
perspective view can be changed with arrow keys.
Please select one of the vanishing point and press any arrow key.
If you move vanishing point with mouse, the cylinders break apart.
But if you press any arrow key, they are restored again.
I studied the reason why they behave differently.
And I found the value of PinY of ellipse cannot be transferred
correctly on mouse move, and found a trick to fix it with SETF function.
But I did not fix it, because the solution is not elegant.