Projecting 3D point to 2D / view-point

In summary, the final step in implementing a procedure involving "3D projections" to "2D space" involves taking Y = XP, where P is a 3x2 matrix, and determining how the project is oriented with respect to the standard basis of 3D space.
  • #1
onako
86
0
Recently I was assigned to implement a procedure involving "3D projections" to "2D space". Supposing that 3D data is stored in a n x 3 matrix X, the final step involves Y=XP, where P is a 3x2 matrix. However, I would need to be sure about the actual meaning of the word "projection" to 2D. In my understanding (I deliberately tend to be descriptive), there are some points in 3D, I'm looking at it from above, and there is a piece of paper below the data (paper is fixed).

So, each time I multiply XP to obtain Y in 2D, it actually means I'm changing the viewpoint, and Y actually corresponds to what I see when looking at the data (as on the fixed paper), right? In other words, with every P, I'm changing the viewpoint and taking the picture (or drawing on a paper, thus 2D) of what I see? If so, that would mean that for any P there is a viewpoint. Please correct me if I'm wrong.
 
Physics news on Phys.org
  • #2
There are two ways of viewing the projection.

First, you view the projection on the 2D plane with respect to the standard basis of 3D space. That is the same coordinate system used by the row vectors in that n-by-3 matrix, X.

Second, you view the projection with respect to the basis of that 2D plane.In any case, you need to know how is your 2D plane orientated.You get the second type projection if you use your method Y = XP such that each of the two columns of P has length = one and they are perpendicular to one another. (Sorry for those who read orthogonal matrix before edit, I was very tempted to use the term here)

To get the first type projection, I can think of a view ways to do it but I will give you the most straight forward solution (in terms of theory) that I know - orthogonal projection. If you use software like MATLAB, pseudoinverse is even simpler to use to get the solution but the theory behind it is not as easy.

Since you store your 3D coordinates as row vectors of matrix X then this is the way to do it. I give you straight solution. If you want the theory check out orthogonal projection.

[itex]Y = A(A^TA)^{-1}A^TX^T[/itex]

A is a 3-by-2 matrix such that it has full column rank i.e. the two column vectors are independent of one another. Now, A is not restricted to "almost orthogonal" matrix P of your method.

Now your projections are stored as column vectors in a 3-by-n matrix Y, not row vectors like the original coordinates stored in X. Furthermore, the projections are coordinates with respect to the standard basis of the 3D space.
 
Last edited:
  • #3
onako said:
Recently I was assigned to implement a procedure involving "3D projections" to "2D space". Supposing that 3D data is stored in a n x 3 matrix X, the final step involves Y=XP, where P is a 3x2 matrix. However, I would need to be sure about the actual meaning of the word "projection" to 2D. In my understanding (I deliberately tend to be descriptive), there are some points in 3D, I'm looking at it from above, and there is a piece of paper below the data (paper is fixed).

So, each time I multiply XP to obtain Y in 2D, it actually means I'm changing the viewpoint, and Y actually corresponds to what I see when looking at the data (as on the fixed paper), right? In other words, with every P, I'm changing the viewpoint and taking the picture (or drawing on a paper, thus 2D) of what I see? If so, that would mean that for any P there is a viewpoint. Please correct me if I'm wrong.

Hey Onako.

Projections have the property that P^2 = P. This means that if you apply a projection more than once to a piece of data that is already projected, the result will not change. This is a fundamental property of all projections.
 
  • #4
Thanks for the answers.
I believe that my initial interpretation was correct, but I need to add "projection surface". With it, the matrix
multiplication from above could mean change of the viewpoint, but also the projection surface.
 
  • #5
onako said:
Thanks for the answers.
I believe that my initial interpretation was correct, but I need to add "projection surface". With it, the matrix
multiplication from above could mean change of the viewpoint, but also the projection surface.

If its a standard orthogonal project, your surface is just a simple oriented plane in the appropriate number of dimensions which can be represented using standard means [like n . (r - r0) = 0]
 

FAQ: Projecting 3D point to 2D / view-point

What is the purpose of projecting a 3D point to 2D?

Projecting a 3D point to 2D is necessary in order to display a three-dimensional object on a two-dimensional surface, such as a computer screen or a piece of paper. This process allows us to visualize and analyze complex objects and structures in a more understandable and manageable way.

How is a 3D point projected to a 2D plane?

The projection of a 3D point to a 2D plane involves using mathematical formulas and techniques to transform the coordinates of the point from a three-dimensional space to a two-dimensional space. This can be done using various methods, such as orthogonal projection, perspective projection, or oblique projection.

What is the role of the view-point in projecting a 3D point to 2D?

The view-point, also known as the camera position, is a critical component in projecting a 3D point to 2D. It determines the perspective from which the 3D object is viewed and affects the final projection of the point onto the 2D plane. Changing the view-point can alter the appearance of the projected object.

Can a 3D point be accurately represented in 2D?

No, a 3D point cannot be accurately represented in 2D. This is because the third dimension, depth, is lost in the projection process. However, by using different projection methods and techniques, we can approximate the appearance of the 3D object in 2D and still gain valuable insights and information from the projection.

What are some practical applications of projecting 3D points to 2D?

Projecting 3D points to 2D has numerous applications in various fields, such as computer graphics, engineering, architecture, and astronomy. It is used to create 2D representations of 3D models, design and analyze structures, and simulate real-world scenarios. It is also essential in creating realistic visual effects in movies and video games.

Back
Top