Intersection points of three surfaces simultaneously
4 views (last 30 days)
Show older comments
Hi,
I am looking for a little advice.
I have x3 variables ( f1, f2 and f3) each containing three-dimensional scalar volume data. These data come as the output from a seperate (arbitrary) function, which calculates it numerically as a function of the three-dimensional input variables x, y, z (generated with meshgrid). I then use the following lines to display three isosurfaces at an isovalue of 0 of the three variables f1, f2 and f3:
isoSurfValue = 0;
figure;
hold all;
p1 = patch(isosurface(x,y,z,f1,isoSurfValue));
p2 = patch(isosurface(x,y,z,f2,isoSurfValue));
p3 = patch(isosurface(x,y,z,f3,isoSurfValue));
which gives the following plot:

I would like to find where the value of f1, f2, and f3 are simultaneously zero - which should amount to finding the points at which these three isosurfaces intersect each other. Since the three variables have been calculated numerically, there are no entries in any of the matrices which are exactly zero (I assume the isosurface function is able to display the plot above because of some interpolation...), and so I cannot simply search the matrices f1, f2, and f3 for zero values. The isosurfaces are typically non-trivial shapes, and so there will usually be a set of multiple discreet coordinates ( xi, yi, zi ) at which all three surfaces intersect - all of which I would like to recover.
I have found a couple of references which could be relevant, for example:
or
but perhaps this is overkill and there is a simpler solution.
Any suggestions would be appreciated.
Thanks.
0 Comments
Answers (1)
KSSV
on 3 Jan 2018
3 Comments
KSSV
on 4 Jan 2018
To get the intersection of lines....use this: https://in.mathworks.com/matlabcentral/fileexchange/22441-curve-intersections?focused=5165138&tab=function
Jose A. Fernandez-Roldan
on 30 Dec 2020
Hi, could you solve this issue That solution is not working for me in matlab 2018
See Also
Categories
Find more on Surface and Mesh Plots in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!