find the intersection point between 2 plane in matlab
이전 댓글 표시
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?


채택된 답변
추가 답변 (1개)
Ameer Hamza
2018년 5월 13일
0 개 추천
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
2018년 5월 13일
plane_intersect() can returns two arguments, first is point and second in the direction vector of the line. You can use the two to construct a line. Call it like this
[point direction] = plane_intersect(...);
ha ha
2018년 5월 13일
Ameer Hamza
2018년 5월 13일
The point returned is the point of intersection. It belongs to both planes. So the point returned by plane_intersect lies of plane L as well as on plane M.
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.
ha ha
2018년 5월 13일
카테고리
도움말 센터 및 File Exchange에서 Polynomials에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

