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

6 次查看(过去 30 天)
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.
thanks
  1 个评论
Matt J
Matt J 2020-7-27
编辑:Matt J 2020-7-27
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.

请先登录,再进行评论。

回答(1 个)

Matt J
Matt J 2020-7-27
编辑:Matt J 2020-7-28
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:

类别

Help CenterFile Exchange 中查找有关 Computational Geometry 的更多信息

产品


版本

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by