How do I find the relative coordinates of a picture of a plane in 3d space.

400 Views Asked by At

Figure

I have a box, with corners $A$ through $H$, as depicted above. I'll consider $B$ the origin of a coordinate system, with the $x$ axis in the direction through $C$, the $y$ axis through $A$ and the $z$ axis through $G$. The extent of the box in the $x$ and $y$ direction are $32$, the extent in the $z$ direction is $64$.

Now I have a ball in plane $EAGB$, with the white dot marking its center. I want to obtain the coordinates of that ball. How can I derive this from the information in the image?

I know how to give 3d coordinates for all the corner points, and I also know that the plane $EAGB$ is described by the equation $x=0$. Therefore the ball must have that same $x$ coordinate, and I have to find its $y$ and $z$ coordinates.

I also have the coordinates of the center on the white ball, projected onto the plane $ABCD$. These are $x=1.7, y=15$. I want the 2d vector of the white ball on plane $EAGB$.

1

There are 1 best solutions below

3
On BEST ANSWER

I used Cinderella to apply a projective transformation which maps $B$ to $B'=(0,0)$, $G$ to $G'=(64,0)$, $A$ to $A'=(0,32)$ and $E$ to $E'=(64,32)$. That map applied to $P$, the midpoint of your ball, is a point approximately at $P'\approx(31.58,13.95)$ so the coordinates of $P$ in 3d should be approximately $(0,13.95,31.58)$. From the picture you can see that there is a high uncertainty in the $z$ direction, due to the low resolution of the image and the large size of the white dot marker.

Screenshot

If you want to replicate this without using Cinderella, but doing the math yourself instead, then you'd have to compute a projective transformation given four points and their images.