# How to calculate the correct position for this inception style photo

I came across this post: How is this changing vertical perspective effect achieved?

Let's say those pictures have been taken by a drone, how would you calculate the positions (latitude, longitude), height and camera angle for where each photo will be shot?

• Seems to me that is has nothing to do with photography. What you are looking for is probably in the field of image processing and called image registration : en.wikipedia.org/wiki/Image_registration – Olivier Dec 29 '16 at 10:06
• I think it's a fair photography question about shooting technique. Have added that tag. – youcantryreachingme Dec 30 '16 at 0:15

• Very good idea, but I would really like to find some calculation based solution. It's not just at which time the pictures should be taken, but also how the path of the drone should be at all. I'd say the flightpath has to be a logarithmic curve. – gasparuff Dec 30 '16 at 17:09
• @gasparuff you are introducing very many variables if you suggest that the drone was not moving vertically. – Euri Pinhollow Jan 29 '17 at 3:19

The exact calculation is impossible because the scene is volumetric. If the scene had flat details you could get a map and match the map and the photograph and get the function.

However you can still get the map and try to match it manually suggesting that the drone moved vertically. Your process should be something like:

• find the photographer's position on the map
• pick two points on every horizontal line and find matching pairs of points on the map (yes this is human work yet)
• knowing the scale of the object gives you distance
• the drone's height, the drones sight on every object (aka the distance) and the projection of drones sight form a 90 degree triangle. You know the projection of drones sight (from the map) and you know the distance from drone to the object (you get it from the ratio between the matched points distance ratio). You will get the height if you use Pifagor's theorem
• given the height you can calculate the angle as a trigonometric function: angle = arctan ( height / distance ) - it will graduate from 90 deg to 0 deg for a rising copter. Calculating height for each horizontal line gives you a set of pairs < angle, height > which you can interpolate

This is a hint on how you'd do it and it is not very detailed.

Usage of fisheye objective makes this much more difficult to formalize. It is still guessable if you keep your matching pairs close to the center vertical of photograph.

• While the exact calculation might be impossible, a very very good approximation can be done. It has been a while that unmanned vehicule can use computer vision to orient themselves and compute deplacement. The rover on Mars uses computer vision. The bundle adjustment technique and image registration does exactly that : take a bunch of image, approximate the 3D scene and the parameter of each image (position, orientation, camera model,...) – Olivier Apr 29 '17 at 7:00
• @Olivier it's funny that you downvoted because my entire post is about calculating the said approximation. – Euri Pinhollow Apr 29 '17 at 8:58
• I downvoted because your first sentence is wrong. The approximation I mentionned has not much in common with yours. The subsequent mathematics might be correct, but it's based on an hypothesis which rarely occur in real life. The link I provided in my first comment (image registration) already provided information about finding view parameters from images. Please search for bundle adjustment – Olivier Apr 29 '17 at 14:14
• @Olivier you have admitted that my first sentence is correct in first line of your comment. Machine vision has one degree of information more than in the problem discussed - it is ok to assume that copter did not move to the left or to the right but it is not correct to assume that it did not move forward. With machine vision, the coordinates of viewpoints is known (so, kinda one dimension only - from 1 to N) and it is needed to build approximate 3D model. cont..... – Euri Pinhollow Apr 29 '17 at 15:33
• @Olivier This case is incomplete reverse: only the flat model is known (volumetric maps are not very common and exact) and it is needed to deduce 2 coordinates from series of flat models. – Euri Pinhollow Apr 29 '17 at 15:35