1
$\begingroup$

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.

$\endgroup$
5
  • $\begingroup$ Seems like a problem of "line-plane intersection". Check out this math.stackexchange.com/questions/83990/… to see if it helps $\endgroup$ – fang Aug 21 '18 at 1:47
  • $\begingroup$ Should we assume that the points $O$ and $P$ and the positions of the objects are all described by Cartesian coordinates? Is it sufficient to use the same kind of 3D coordinates to describe where each line from $O$ to an object intersects the screen, or should we give the screen its own set of 2D coordinates and use those? (Doing everything in one 3D coordinate system actually leads to a relatively simple solution, but if the end goal is to show on a computer screen what the observer would see, you probably want distances up/down or left/right on the computer screen.) $\endgroup$ – David K Aug 21 '18 at 2:47
  • $\begingroup$ Looking at the page the first comment linked to, it has an answer showing a version of my "simple solution." It assumes some knowledge of vectors, which is very handy to have for problems like this. $\endgroup$ – David K Aug 21 '18 at 2:55
  • $\begingroup$ Thanks for your comments: O and P are 3D points with x, y, z. Yes, line-plane-intersection is what's needed to find the point on the 2D screen. Yes, I'd need the relative coordinated on the 2D-screen in the end. The link describes "only" how to get the intersection-point, but not how to create the plane based on the "point of the hull", or does it? $\endgroup$ – Patrick B. Aug 21 '18 at 6:00
  • $\begingroup$ Coming up with an equation for the image plane to use for the intersection is pretty simple, but you’ve still got a degree of freedom left for expressing that point in “relative coordinates.” Namely, which way is “up” on the screen in the 3-D world? $\endgroup$ – amd Aug 21 '18 at 20:30
1
$\begingroup$

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

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.