Algorithm to represent a vector as linear combination $(3d$ to $2d$ plane$)$

28 Views Asked by At

Community,

I have a geometric library that allows to do multiple things with $2d$ curves (circle, plane, line segment, etc.) in $3d$ space. For specific operations (like the intersection between $2d$ circle and $2d$ line) it would be easier, to calculate the coordinates on the plane both are lying upon and do the operation there.

So I have $V_u$ and $V_w$ as axis, that is an orthonormal system and both are perpendicular to $V_{normal}$. To "convert" the other shapes, I have to express the projected point as a linear combination of these two, and can then operate like it was normal $2d$ space.

One could use gauss elimination to solve $point = a \cdot V_u + b \cdot V_w$ but this would require a full gauss elimination implementation and it seems like a wast of (computing) time as this system is always degenerated (can only express solutions on the plane).

Is there some kind of efficient algorithm for this kind of problems? I faintly remember determinants, but don't know where to search for efficient algorithms.

1

There are 1 best solutions below

0
On BEST ANSWER

Yes, we simply have to write the given point $P$ in the basis $V_u, V_w, V_{\text{normal}}$ and then drop the last term.

Assuming $V_u, V_w$ orthonormal, the corresponding coordinates are calculated by the inner products $\langle P, V_u\rangle$ and $\langle P, V_w\rangle$, so the projected point will be $$P'=\langle P, V_u\rangle V_u+\langle P, V_w\rangle V_w$$