find the intersection point between 2 plane in matlab

2 次查看(过去 30 天)
Let's say I have: the set of 3D data point (xi,yi,zi) contains around 10,000 points located in plane L
I also have : plane M which is specified by normal vector n , and point A(xA,yA,zA). How to find the intersection point between 2 plane L & M?

采纳的回答

ha ha
ha ha 2018-5-13
编辑:ha ha 2018-5-13
Plane L contains 10,000 points in 3D space OXYZ
Plane M contains (normal_vector & center_point). Firstly, finding the perpendicular distance of each point in plane L to the plan M. Example: 10,000 distance corresponding to 10,000 points.
Then check the condition to the Plane M. If the distance < distance_threshold. Example: 1cm or 5mm ====> then, choose those point satisfying that condition only

更多回答(1 个)

Ameer Hamza
Ameer Hamza 2018-5-13
For plane L find a normal to that plane using this FEX submission. This will give you a normal and a point on the plane L. Since you already have a normal and point to plane M, use another FEX submission to calculate their intersection.
  7 个评论
Ameer Hamza
Ameer Hamza 2018-5-13
编辑:Ameer Hamza 2018-5-13
If you just want to get 1000 points which lie on the line of intersection and plane L. Then you just need to sample the line of intersection. One example
p = [1 2 3]; % point of intersection returned by 'plane_intersect'
dir = [0.2 0.6 0.6]; % direction of intersection returned by 'plane_intersect'
t = (0:0.1:100)'; % to get 1000 samples
points = p.*(1-t)+(p+dir).*t; % p and dir must be row vectors
If you want points that lie on the line of intersection and also belongs to the initial dataset (xi, yi, zi) for plane L, then it is highly unlikely that any of that point will precisely lie on the line of intersection.

请先登录,再进行评论。

类别

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

标签

Community Treasure Hunt

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

Start Hunting!

Translated by