How to find out if an edge that is resulting from intersection of two surfaces is a concave edge or a convex edge?

1 view (last 30 days)
Hi -
I have two surfaces, each defined by separate sets of points. The two surfaces intersect at an edge. I am looking for a way to find out whether the resulting edge is concave edge or convex edge. For instance, in the attached image - the red line is concave/valley edge while the blue line is convex/ridge edge. I have points for each of the two surfaces marked by black rectangulars.
  1 Comment
Matt J
Matt J on 27 Jul 2020
Edited: Matt J on 27 Jul 2020
You don't have enough information. You also need some means of designating which side of the planes are being observed. The two planes you have marked indeed open concavely toward someone standing outside the structure, but are convex from the point of view of someone inside the structure.

Sign in to comment.

Answers (1)

Matt J
Matt J on 27 Jul 2020
Edited: Matt J on 28 Jul 2020
Basically, the test you must perform is to average all the points in the two rectangles together. If the average point lies inside the structure, then it is a convex edge, otherwise, it is a concave edge. So, you must pursue a way of testing whether a point is inside the structure. One way to do this would be if you can obtain a triangulation object describing the structure as a collection of tetrahedrons. You could then use the pointLocation() method of the triangulation class:




Community Treasure Hunt

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

Start Hunting!