Projecting a 3d point onto a 2d surface

3.7k Views Asked by At

Suppose I have a point in some 3D coordinate system $(x,y,z)$.

Some large distance $r$ in the $x-$direction from the origin of this coordinate system is a 2D image plane, with coordinates $(a,b)$. Since the image plane lies in the $x-$direction, we can equally say that it is at a polar angle $\theta = \pi/2$.

The point $(x,y,z)$ is projected onto this plane at $\theta = \pi /2$ as,

$$ y \rightarrow a$$ $$ z \rightarrow b$$

Similarly, if the images plane is at $\theta = 0$ then

$$ y \rightarrow a$$ $$ x \rightarrow b$$

Now, between these two extremes I feel like there must be some expression for $b$ as a function of $x,z,\theta$, i.e. $b=b(x,z,\theta)$. However, I cannot see how to even start to arrive at an expression.

How can I find an equation for b?

Thanks

2

There are 2 best solutions below

0
On BEST ANSWER

Let $M(x,y,z)$ and $\mathbf n$ a unit vector. The equation of the plane $\mathscr P$ with normal $\mathbf n$, and that is at distance $r$ along direction $\mathbf n$, is $\mathscr P=\{ M\mid M.\mathbf n = r\}$.

Once you've figured out the equation of the plane you want to project onto, it is a fairly easy matter to find the 3D coordinates of the projection. What may be a little bit trickier, is to figure out what the 2D coordinates within the plane are, because that requires to decide in some way, what 2D coordinate system you are going to use.

From the examples you provided, one way to proceed is to define $\mathbf u(\theta) = (-\sin\theta, 0, \cos\theta)$ and $\mathbf v(\theta) = (\cos\theta,0,\sin\theta)$. Then the three vectors $\mathbf u(\theta)$, $\mathbf v(\theta)$ and $\mathbf j=(0,1,0)$ constitute a right-handed orthonormal basis. In particular, you can project on the plane $\mathscr P(\theta)=\{M\mid M.\mathbf u(\theta)=r\}$, and then decide to use the 2D coordinate system whose origin is the projection of $(0,0,0)$ into $\mathscr P(\theta)$, and whose axes are aligned with $\mathbf j$ and $\mathbf v(\theta)$. This procedure should match with the two examples you gave for $\theta=\frac\pi2$ and $\theta=0$.

Put into equations, you get something along the lines of \begin{align*} \vec{OM} &= x\mathbf i+y\mathbf j+z\mathbf k = x\big(-\sin\theta\mathbf u(\theta)+\cos\theta\mathbf v(\theta)\big) +y\mathbf j +z\big(\cos\theta\mathbf u(\theta)+\sin\theta\mathbf v(\theta)\big) \\ &=y\mathbf j +\big(x\cos\theta+z\sin\theta\big)\mathbf v(\theta) +\big(-x\sin\theta+z\cos\theta\big)\mathbf u(\theta)\\ &=a\mathbf j+b\mathbf v(\theta) +c\mathbf u(\theta) \end{align*} in other words \begin{align*} a&=y\\ b&=x\cos\theta+z\sin\theta \end{align*}

0
On

It is unclear to me what the situation is. But I am going to break it down to two parts. One is a projection of a 3D point on to a plane. And second is the polar coordinates of the projected point.

Consider a point P with coordinates $(x,y,z)$.

GEOM

Somewhere along the x-axis is a plane (image), a distance $r$ from the origin. The image lies parallel to the $(y,z)$ plane. On the plane there is a coordinate system $(a,b)$.

  1. The 3D to 2D transformation is

    $$ \pmatrix{a \\ b} = \left[ \matrix{0 & 0 & 1 \\ 0 & 1 & 0 } \right] \pmatrix{x \\ y \\ z} $$

    or the inverse

    $$ \pmatrix{x \\ y \\ z} = \pmatrix{r \\ 0 \\ 0} + \left[ \matrix{0 & 0 \\ 0 & 1 \\ 1 & 0 } \right] \pmatrix{a \\ b } $$

  2. The polar representation of $(a,b)$ is $(t \angle \theta)$

    $$ \begin{aligned} t & = \sqrt{a^2+b^2} \\ \theta & = \tan^{-1} \left( \frac{b}{a} \right) \end{aligned} $$