Position of points relative to a plane

13 次查看(过去 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 中查找有关 Surface and Mesh Plots 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by