How to find out if an edge that is resulting from intersection of two surfaces is a concave edge or a convex edge?
1 回表示 (過去 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
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/337426/image.png)
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 で Surface and Mesh Plots についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!