Given the 4 coordinates of a 2D shape in a 3D space I want to calculate its aspect ratio.

The 3D space is created with 2 vanishing points.

The 4 coordinates - marked blue - are the 2D coordinates on the display. in the example they should be roughly (14, 5.5), (19, 5), (20.3, 7.3), (25.3, 6).

I'm not sure if this is possible at all, if someone could find proof that for 2 different aspect ratios the 2D coordinates are the same this problem would be unsolvable.

My exapmle:

enter image description here

  • $\begingroup$ Can we assume that the corners are 90 degree angles $\endgroup$
    – joojaa
    Nov 29, 2015 at 18:42
  • $\begingroup$ The table's corners are, yes. $\endgroup$
    – succcubbus
    Dec 16, 2015 at 11:56

1 Answer 1


The ratio is with a quick and dirty visual measurement $665:501$ which is approximately $5:4$. You can measure it by taking the ratio of the vanishing angles $\alpha/\beta$ (see picture 1) because we are so close to the center.


Image 1: Ratio of the inbound angles

We can check the situation visually by drawing a 2 point perspective grid. For this we need the center line between the vanishing points.

Perspective grid

Image 2: Seems about right.

  • $\begingroup$ How would one calculate the aspect ratio if we weren't so close to the center? $\endgroup$
    – succcubbus
    Nov 29, 2015 at 21:15
  • $\begingroup$ @succubus there is a lengthy explanation here but you can do this with matrix calculation. Just didnt have time to outline the math. $\endgroup$
    – joojaa
    Nov 29, 2015 at 22:20
  • $\begingroup$ Thanks for your help, unfortunately I can't accept your answer because I messed up with my stackexchange account. $\endgroup$
    – succcubbus
    Nov 29, 2015 at 23:20
  • $\begingroup$ @succcubbus please refer to official help page about merging your account to regain the ownership of the question. $\endgroup$
    – Andrew T.
    Nov 30, 2015 at 10:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.