How to project a 3D-point on a 2D-plane relative to an observer?

667 Views Asked by At

In a 3D-space there is a random number of objects ($X$s) of which their exact position is known.

These objects can be observed through a "screen" which has a certain dimension, position and orientation.

Its position and orientation is related to point $P$. The "screen" can be moved around this point with a fixed distance.

(I'm imagining the "screen" moving on the hull of a sphere around $P$ and the line of touching point and $P$ is always orthogonal to the plane).

Then, there is the observer point ($O$) which is on the opposite side of $P$ related to the plane, maybe with the same distance or less.

The observer now looks "through" the "screen" into the 3D world and sees some of the $X$s.

My questions is, what approach should I follow to calculate where the line between $O$ and one of the $X$ touches the "screen"? What variables do I have to calculate?

My math-lessons date and I'm a little bit rusty when it comes to terms and ideas. Please bear with me and do not hesitate to ask for more details.

Also, I'm aware that this is a quite complete problem-question, but I prefer to ask one big question and maybe get a new idea of how to get along rather than thinking about it on my own and asking only detail-questions and missing out the genius idea.

1

There are 1 best solutions below

0
On

Finally I got to the point to advance and I found Geogebra. Which helped me to understand and simply my problem.

Here's what I'm doing to get the point the screen's intersecting point of $O$ and any $X$: $B$:

Given are $X$ (Object), $P$ (Position) and $O$ (Observer position, derived from two given angles).

  1. Calculate the center point of the screen, which is also located the plane $$A = \frac{P+O}{2}$$
  2. Get the perpendicular plane from $$A, \overrightarrow{OP}$$
  3. now we can get $B$ from the intersection of the line $OX$ and the plane found in 2.

That does not yet give me the relative coordinates of $B$ on the screen. But this is out of scope of this question.

enter image description here