MATLAB Answers

How do i find the intersection points between a surface and a patch?

9 views (last 30 days)
Hello,
I am looking for a way to determine the intersection points between a surface and a patch as in the image. The result should be the (smooth) curve of these intersection points. Anybody who knows how to do this?
Greetings, Rudy

Accepted Answer

Unai San Miguel
Unai San Miguel on 14 Feb 2018
It is hard to find the intersection of a surface and a plane (in general), as it is explained here by Patrikalakis et al. And it may be harder to obtain a smooth curve.
But if you can do with a number of points on the (branches of the) curve(s), you can:
  1. Find the scalar function d of the distance from the points on the surface to the plane
  2. Compute the contour lines of d of value 0, keeping the output of the function:
C = contour(x, y, d, [0 0]);
In C you can find all the points on the surface which belong to the intersection, see the documentation here: ContourMatrix property

More Answers (0)

Community Treasure Hunt

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

Start Hunting!