Reflection of a fixed point on a 3D plain.

6 views (last 30 days)
Suppose we have a plane of the form:
Ax + By + Cz + D = 0,
where the coefficients "A", "B", "C", and "D" are known values.
We also have a known point x
x = [x1 y1 z1 ]
How can I find the point s that is the reflection of point x on the given plane. By reflection I don’t mean mirroring. I mean that the plane works as a boundary condition and point s is on the same side with point x (with regard to the given plane) ?
  2 Comments
John D'Errico
John D'Errico on 10 Aug 2019
Edited: John D'Errico on 10 Aug 2019
Very confusing as a question. A "boundary condition" has no meaning out of context. You state that you have a plane, and a point, not in the plane.
There are at least two meanings I could give to what you are asking.
  1. Given a point and a plane, you can find a point that is reflected through the plane, on the opposite side of the plane. Thus equidistant from the plane, but on the opposite side. It seems from your comment that this is NOT what you desire though.
  2. You might be thinking of a moving object, proceeding in a straight line, so that when the object hits the plane, it reflects off the plane in a new direction. However, this seems to be not what you are asking either, because for that to make any remote sense at all, you need to have more information than just a point, but also a vector that describes the direction the object is moving.
So if you want an answer, you need to be clear about what you are doing.
Panagiotis Xenitidis
Panagiotis Xenitidis on 10 Aug 2019
I’m sorry for being confusing. I am referring to the second meaning. I have a moving particle that is moving in a random straight line. It hits the plane and it reflects off the plane in a new direction.

Sign in to comment.

Accepted Answer

darova
darova on 10 Aug 2019
You have straight line ( vector), intersection point P, normal vector of a plane and you want to find vector
Find cross product of vectors and (axis of rotation)
Calculate angle between and
23Untitled.png
Use this rotation matrix to rotate your original vector about cross(,)
f259f80a746ee20d481f9b7f600031084358a27c

More Answers (0)

Categories

Find more on General Applications in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!