How to find Intersection of 2 surfaces ?

10 Ansichten (letzte 30 Tage)
Jay Talreja
Jay Talreja am 24 Dez. 2021
Kommentiert: Jay Talreja am 27 Dez. 2021
Hello
I have two surface made from discreate data. I want to find the cordinates of intersecting line. The surface are named as
Surface1 = (A1,A2,C)
Surface2 = (B1,B2,C)
My problem is that as data is discreate so I am not able to know the precise intersecting points of the surface.
For reference I have attached the file.
I want to find cordinates of this particular line.
Thanks in Advance
  2 Kommentare
Matt J
Matt J am 24 Dez. 2021
Bearbeitet: Matt J am 24 Dez. 2021
Which is X, which is Y, and which is Z?
Jay Talreja
Jay Talreja am 27 Dez. 2021
X is A1 and A2.
Y is B1 and B2
Z is C which is same for both graphs.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Matt J
Matt J am 24 Dez. 2021
Bearbeitet: Matt J am 27 Dez. 2021
One way,
load data
F1=griddedInterpolant({A1,A2},C,'linear','none');
F2=griddedInterpolant({B1,B2},C,'linear','none');
figure(1)
surf(A1,A2,C','FaceColor', [0 0 1],'EdgeColor','none','FaceAlpha',1)
hold on
surf(B1,B2,C','FaceColor', [1 0 0],'EdgeColor','none','FaceAlpha',1)
xlabel x; ylabel y; view(-30,50); axis vis3d
xl=xlim; yl=ylim;
x=linspace(xl(1),xl(2),500);
y=linspace(yl(1),yl(2),500);
C1=F1({x,y});
C2=F2({x,y});
cm=contourc(x,y,(C1-C2)',[0,0]);
[~,coords]=getContourLineCoordinates(cm);
for i=1:numel(coords)
tmp=coords{i};
tmp(:,3)=F2(tmp);
coords{i}=num2cell(tmp,1); %coordinates of the surface intersection
end
for i=1:numel(coords)
[x,y,z]=deal(coords{i}{:});
line(x,y,z,'Color','g','LineWidth',3);
end
hold off
  3 Kommentare
Matt J
Matt J am 27 Dez. 2021
The intersection line which I see from that I need their cordinates. I was unable to to find the variables where these values are stored
I had thought that XData, YData would give you the coordinates, but apparently I was wrong. I have updated my answer, using Adam Danz's File Exchange tool that you referenced. It works well, as the plot shows.
I there a way that I can see this contour line on my actual graph.
That is now demonstrated.
Jay Talreja
Jay Talreja am 27 Dez. 2021
Yes now it is working as excepted. Thanks for help

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by