0

I want to put an image on a wall. I can work out where the vanishing points are and do perspective transformations but how do I work out what the aspect ratio of my image looks like on the wall?

What I have done so far is to line the left vertical edge up with where I want the image and then make a right edge that is the width of the original but shrinks to follow the top and bottom edges going to the vanishing point. I can then do a perspective transformation. This doesn't look right because I'm not sure that gets the aspect ratio of the original image correctly translated.

If I knew the original aspect ratio of the wall I could work backwards but these are stock images so I don't.

1
  • If by working it out you mean an exact measurement, it would involve maths. see answers to a similar question on maths stack exchange. What would a graphic designer do? Probably just eyeball it, until it looks about right. In GIMP I generally find it easier to use the Unified Transform Tool to distort the image to fit the perspective, rather than the Perspective Transform tool. It's easier to adjust IMHO
    – Billy Kerr
    Commented Feb 29 at 10:53

1 Answer 1

0

If you know that, from the "point of view", one side of the wall fixture is twice as far as the other, then it should be twice as small. So with the perspective transform you would extend that smaller side until it is twice as small as the other.

But in practice, to know how far things are, you would have to know the angle between the wall and the camera axis, and this is hard to tell from just the wall dimensions because different dimensions with different angles can produce the same perspective. So to figure out the real angle you need additional clues, ideally a regular pattern on the wall: windows, posts, beams, tiles, brick... But if you have these clues you can use them directly, you can tell that you image is going to cover 20 bricks by 40, so you stretch it until it covers 40 bricks.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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