问题标签 [concave]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 如何用 d3.js 绘制凹多边形?
使用波纹管参考我正在尝试创建一个多边形,但是,如果我的点/角的顺序不正确,多边形将不会变成凹形。如何订购角落或有没有更好的方法来制作凹多边形?
https://bl.ocks.org/lwthatcher/5456840f796632c27edc813ce8ab4719
algorithm - 从凹多边形生成三角形网格的高效算法
我正在从事一个项目,该项目涉及从潜在的凹多边形生成三角形网格。我对高性能解决方案比对最佳解决方案更感兴趣。我遇到的大部分内容都涉及使用 OpenGL(不是一个选项)或专注于优化或近似优化地分解为凸多边形,使用 O(n 3 ) 或 O(n 4 )。剪耳似乎是最直接的解决方案,应该是 O(n 2 ):
我不明白这怎么可能是 O(n 2 )。如我所见,这将必须涉及三个嵌套循环,每个循环都与 N 成正比:上面的两个显式循环和candidate.ContainsAnyOtherVertex()
. 我错过了什么吗?是否有某种方法可以检测候选三角形是否包含不涉及迭代所有剩余顶点的任何其他剩余顶点?
或者,我应该使用不同的算法吗?分解成凸多边形的我会很好,但是 A) 我不在乎解决方案是否是最优的,并且 B) 我对阅读 CGAL 的源代码或学术文献不感兴趣。