CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   Main CFD Forum (https://www.cfd-online.com/Forums/main/)
-   -   projection (https://www.cfd-online.com/Forums/main/11830-projection.html)

Ramesh July 15, 2006 12:22

projection
 
Hallo, Can anyone point me to an an approach as to how to find the coordinates of a projected point on a plane.

I have the following details, Corodinates of the 4 vertices of the plane and coordinate of the point to be projected

Ramesh

Alej July 16, 2006 03:29

Re: projection
 
If I understood well what your problem is, you need to make a dot product to project. Define two orthogonal vectors on your plane (A and B) of norm 1 (divide by the norm), like an origin, then your point (P), will have PdotA in the direction of A, and PdotB in the direction of B

Ramesh July 16, 2006 03:55

Re: projection
 
Could you please elaborate with some mathematical formulation. I just lost a bit of track in basic school mathematics. To repeat my problem. I have coordinates of 4 vertices A B C D of plane and point P in 3D space. I need to get the orthonormal projection of point P on plane that is coordinates of projected point PX on plane. One approach, if i am right is to define orthonormal vectors and take the dot product of it but it leads to a set of non linear equations to solve. so is there any other way

Alej July 16, 2006 04:35

Re: projection
 
Ok, this is another approach, maybe more natural: Here the "old" reference system, is the general 3D system, where you have P expressed. The "new" system, is the plane PX. The vector OO`is a vector from the origin O of the old system to the O`new system.

First, where`s your PX plane? So you need to express your new coordinates in terms of the old`s ones. Thats made by projecting with sines and cosines. The angles should be known, because you choose how the new system is oriented. Suppose you have (all things with " ` " belongs to the new system): x`=ax y`=by z`=cz Now, that`s true for the unitary vectors x^`=ax^, y^`=by^, z^`=cz^

Now, you can express the point P as: P=OO`+P*, where P* is a vector from O`to P, but in the old coordinates (draw it and it will be clear)

You know P and OO`(you choose where the new system is), so make the rest, and get P*.

P* is Px* x^ + Py* y^ + Pz* z^, in terms of unitary vectors. Now, replace the unitary vectors in terms of x^`, y^`, z^` (unitary vectors of the new basis). Impose that the new coordinate z (that`s P`z, or Pz* z^`) is zero, because is a orthogonal projection.

Gerrit July 20, 2006 09:59

Re: projection
 
The explanation by Alej is fully correct, but may result a bit fuzzy to you, because of the coordinate change.

First of all, a plane is defined by three points and not by four, even if D is taken in the same plane, with numerical errors the fourth point D will never be exactly in the same plane as given by ABC. So let's take only A, B and C.

Let every variable that starts with v be a vector taken of a point with respect to O and let O be your original eeehm origin, yep.

Take ve1=(vC-vA)/Length(vC-vA)

ve2=(vB-vA)/Length(vB-vA)

Now take vPnew=vP-vA

Next compute two dot products, notated as "*." dot1 and dot2, both scalar:

dot1=vPnew*.ve1 dot2=vPnew*.ve2

then

vPx=vA+dot1*ve1+dot2*ve2

I didn't check on errors, but this must work.


All times are GMT -4. The time now is 04:20.