0
$\begingroup$

I have three planes, and i want to calculate distance of my point to each of them. However, there are 68000 points in the space, so it does not make sense( computationally) to calculate the distance for every one 3 times! I am allowed to use the conventional method(distance of a point to a plane) only once for all of the points.(consider two planes parallel to each other and one perpendicular to them)

Is it possible to use the relation between the planes to calculate 3 distances, only using distance formula once for the point and one of planes?

Thanks

$\endgroup$
7
  • $\begingroup$ Unless the planes are parallel (with constant distance) I don't see how to do this, because I can construct infinitely many planes with any given distance from one point without affecting its distance from the other point. $\endgroup$ Oct 23, 2015 at 3:00
  • $\begingroup$ No. ${}{}{}{}{}{}$ $\endgroup$
    – copper.hat
    Oct 23, 2015 at 3:04
  • $\begingroup$ @cuniculus is there something like distance of two planes from each other? $\endgroup$
    – lorraine
    Oct 23, 2015 at 3:05
  • $\begingroup$ You could define the distance between two planes if they were parallel to be the distance of any point on one plane to the other plane, like I said, but in general no. $\endgroup$ Oct 23, 2015 at 3:08
  • 1
    $\begingroup$ As cuniculus said, two planes only have a distance between them if they are parallel. Otherwise, they intersect at some line, and we can no longer say there is a "distance between the planes." $\endgroup$
    – zahbaz
    Oct 23, 2015 at 3:11

1 Answer 1

0
$\begingroup$

If you have two planes, A and B, and all you know is the distance from point C to plane A, then all you have is a third plane, C', which is parallel to plane A. C' contains all points that are equidistant to plane A, which is a plane also. You do not know which one of them is the point of interest.

Therefore, unless you have more information or plane B is parallel to plane A, then you cannot also know the distance from point C to plane B.

EDIT:

If you know the coordinates of the point, then you don't need to use the distance formula at all to determine the distance to either plane, unless they are parallel.

If the planes are parallel, then use the distance formula for either plane to determine the distance to the point, then determine the distance between the planes and add (using a negative distance if the second plane on the same side of the first plane as the point).

If the planes are not parallel, then you can find the line that is the intersection of the planes. You can then use the distance formula to determine the distance from the point to the intersecting line. With that information, you can use trigonometry to determine distance to either plane. To do this, you need to calculate the angle of the line that is perpendicular to the intersecting line to each plane (theta), the angle between one plane and the point (alpha) and using the distance of the point to the intersecting line:

Height from plane 1 = sin (alpha) * distance Height from plane 2 = sin (theta - alpha) * distance

You could actually do this with any line that goes through the point and the intersecting line, but the perpendicular is usually the easiest to calculate.

But now your question asks about computational load, and calculating distance from each plane on its own is possibly faster. That would depend on the system you are using to do the calculations. Determining the interesting line, the point distance and the angle probably requires more computations than point-distance formulas, unless the angles between planes are already known, for example.

Also, with a trig approach you will have to be cautious of points that line on (or very near to) a plane.

Additionally, if you are concerned with computational intensity - and you are actually trying to calculate the distances to many points from each plane, then you may want to consider how you could structure the data or the computations differently. For example, if the points are grouped in planes.

Also, if you are concerned about processing time you could calculate the "x" distances in parallel with "y" and "z" - then calculate the actual distance - all using separate threads on different cores.

(BTW - your question should probably ask, "What is the fastest approach to computing the distance from a known point to 3 different planes?" or "Are there computational short cuts to calculating the distance from a large number of points to 3 different planes?")

EDIT 2:

Please observe that the "distance formula" is actually the "minimal distance formula" from two sets of points. There are many distances from a point to a plane, but only 1 minima.

So, if you calculate the minimal distance to the intersection of the planes, then you can use trigonometry to determine the minimal distance to each plane. The minimal distance to the plane will be orthogonal to the plane, and therefore be a right angle, and in this case a right triangle, with the hypotenuse being the distance from the point to the intersection of the planes.

The distance to the plane can then be calculated using the angle and the hypotenuse.

$\endgroup$
7
  • $\begingroup$ What about in the case that two of them are parallel to each other and the third one is perpendicular to them? Can i find a way to use conventional distance equation ( point to one plane) and calculate the distance to the perpendicular one ? $\endgroup$
    – lorraine
    Oct 23, 2015 at 3:21
  • $\begingroup$ If you know the coordinates of the point, then you have more information than the distance. Conventional distance equations would then solve the distance problem from either plane without concern for the other. Being perpendicular does not provide enough information - because your point could still lie anywhere on the third plane that is parallel to the first - and be any distance from the second plane. $\endgroup$
    – Jim
    Oct 23, 2015 at 3:25
  • $\begingroup$ I know every information for my points and planes , the only limitation that i have is that i have to use the conventional distance equation only once for my point and one of the planes ! $\endgroup$
    – lorraine
    Oct 23, 2015 at 3:30
  • $\begingroup$ Thank you for your answer, how did you calculate the equation ? can you explain more? $\endgroup$
    – lorraine
    Oct 23, 2015 at 14:32
  • $\begingroup$ I made another comment that might make it more clear. I do not have good tools to draw diagrams, so I hope that helps. $\endgroup$
    – Jim
    Oct 23, 2015 at 15:12

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .