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
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
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 Center 和 File Exchange 中查找有关 Computational Geometry 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!