Perspective

The perspective plugin (aka Corner Pinning) allows you to change the perspective of an object and is used to make objects appear as if they are fading into the distance. Basically, you can get a different view. A transformation is used which preserves points, lines, and planes as well as ratios of distances between points lying on a straight line.

In (figure 10.53) you can see that there are four options for the endpoints used for the edges.

Figure 10.53: perspective control window
Image perspective

Default
if OpenGL is being used with your graphics card, this will be the option in effect. If no OpenGL, then it will be Cubic.
Nearest
using software, nearest neighbor can look step-py.
Linear
software implementation of a linear algorithm.
Cubic
smoothest looking on the edges and considered the best.

Key Presses for using the Perspective plugin:

Left mouse button drags the corner that is closest to current location  
Alt key + left mouse translates the perspective; drags the whole image  
Shift key + left mouse zooms the perspective  
Alt+Shift + left mouse translates view but does not change output  
     

Note that the red color lines in the box show the composer boundary.

In order to see endpoints that go off the screen, you can use the zoom slider which changes only the zoom view and does nothing else. The slider uses a logarithmic scale ranging from ${\frac{{1}}{{100}}}$to100. Although not shown in the image here, each endpoint is labeled in yellow with 1-4 and the Current X endpoint is shown in the menu to make it easier to tell which point is in play.

Figure 10.54 show the results of the 4 different smoothing options.

Figure 10.54: Clockwise: Nearest; Linear; OpenGL and Cubic
Image perspective01

Just a side note about the possibility of ending up with a divide by 0 case when manipulating the endpoints. Sometimes this results in a single frame anomaly but you can workaround this by setting the X value for the middle keyframe of a series to just a little more than 0, such as .01 so that dividing by 0 is avoided. The actual cause of the problem is that the interpolated X1..X4 auto coordinates used by perspective eventually have x1==x2, x3==x4, so that all points x are scaled by zero. Another solution is to tweak the frame count to an even number, so that the center is not over the point where x1==x2, x3==x4, or perturb the midpoint position a little so that the answers are not exactly zero.

The CINELERRA-GG Community, 2021
https://www.cinelerra-gg.org