Position of points relative to a plane

39 次查看(过去 30 天)
I'm looking for a way to decide whether a point is on, to the left, or to the right of a plane. I have it to work for a selected point. For example, given a number of (x,y,z) coordinates, I'm able to determine what points are on, or across the a line drawn from a point say x = 3. The code I developed works perfect. However, I want to expand on this so that any plane can be used not just the yz plane (x = 3). I want to do a batch check on all the points in a variable called vertices. There will always be three point coordinates in this variable.

采纳的回答

Yao Li
Yao Li 2013-5-16
  1. Obtain the equation of the plane
  2. If the point (x,y,z) satisfy the equation, the point is on the plane. I don't think you can use the word 'left' and 'right' to describe the position before you have specified the reference axis.
  2 个评论
Harold
Harold 2013-5-16
Here is what I'm working on. I'm trying to find a simpler solution. I have a collection of points in a matrix called vertices. Each row of this matrix describes a facet (triangle) in 3 dimensional space. What I need to do is find the intersection points that this facet makes with a cutting plane. I know I can use what you just posted. Basically convert the facet into a plane. Then intersect this plane with any plane of my choosing. I'm just not sure how to go about describing this slicing plane.
Diego Hens
Diego Hens 2020-8-21
Did you find a solution to this? I have the same problem. I want to erase all points under a plane from an stl

请先登录,再进行评论。

更多回答(1 个)

Jan
Jan 2013-5-16
If the plane is defined by one point P and the normal vector N, is is easy to decide on which side (defined by the orientation of N) the point Q is: check the sign of:
v = dot(Q - P, N);

类别

Help CenterFile Exchange 中查找有关 Elementary Math 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by