Determine the intersection coordinates between a 3D object and an infinite plane

Hi! I would like to know if there is a way to determine the intersection coordinates between a reported 3D geometry (tube) and an infinite plane. That is, determine the coordinates where the red line is in the image.
NODES = importdata("NODES.mat");
FACES = importdata("FACES.mat");
P = [24.3377 -21.8635 81.9835];
plane = [0.1385 0.0645 0.9883];
a = plane(1);
b = plane(2);
c = plane(3);
d = dot(plane,P);
figure
plot3(P(:,1),P(:,2),P(:,3),'k.','Markersize',20);
hold on
% plot3(NODES(:,1),NODES(:,2),NODES(:,3),'b.','Markersize',3)
trimesh(FACES(:,:),NODES(:,1),NODES(:,2),NODES(:,3),'EdgeColor','k','Linewidth',0.1,'Facecolor','b','FaceAlpha',.4)
f_1 = fimplicit3(@(x,y,z) a*x+b*y+z*c-d);
hold off
axis equal
zlim([70 90])

 Accepted Answer

4 Comments

Hi @Bruno Luong! Thanks for the link. How can I create the mesh of my plane?
Similar to Matt's answer to another thread from you, just replace circle by square
Yes, using the code that Matt J provided me I created a mesh of the circle (the circle is also fine as geometry).
To use the code in the link I would need the nodes and faces of the circle. I have the nodes (the V matrix). How can I recover the faces?
load V
V=num2cell(V,1);
[x,y,z]=deal(V{:});
trisurf(delaunay(x,y), x,y,z)

Sign in to comment.

More Answers (0)

Categories

Find more on Computational Geometry in Help Center and File Exchange

Products

Release

R2021b

Community Treasure Hunt

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

Start Hunting!