How to construct a cube in 3-point perspective


I want to construct a correct cube in three-point perspective (not eyeball it). Assuming I have a horizon line, the three vanishing points and one edge of the cube (line a), how do I know how long the other edges (lines b and c) must be?

enter image description here

12/19/2013 12:37:00 PM

I'm unclear if [a] includes the entire side or just the top path of that side.

  1. Reflect [a] on a vertical axis, from the left side, this provides [b].
  2. Rotate [a] (or [b]) to a 90° vertical, this provides [c]
  3. Then simply duplicate, move, and align these segments to form the cube.


Let's assume that [a] includes that entire side and not a single path.

The Short Answer:

  1. angle p = angle q
  2. length of r = length of s

That's really all you need to know.

angles and lenth

The long answer........

One side provides 2 points of the 3pt perspective:


Closer view (and I've indicated the interior angles):


The angle you need to be aware of is the yellow angle. The angle of the center, top corner of largest side is reflected in center, middle corner of the top (or bottom) side. If you rotate that angle (yellow) around it's connecting point, so that the left side of the rotation aligns with the top edge of the existing angle, you get the first angle of the top side.


Now place the shortest vertical from the known side [x] at that angle, lining it up to that corner of [a]. This provides [x1] and allows you to determine 2 more perspective lines:


You may notice that the magenta angle is also reflected in this opposite side of [x].


You can now simple extend [x1] to the horizon line resulting in the 3rd point of perspective.


With the 3rd perspective point it's a simple matter to finish off the cube:


Although The only thing I copied from your sample image was side [a], here's a final comparison:


There is some minute difference, but I'm chalking that up to alignment issues on my part, since I wasn't absolutely ensuring all paths and angles were perfectly aligned at all times.

12/18/2013 8:13:00 PM