【发布时间】:2020-09-05 04:37:52
【问题描述】:
我有兴趣编写一个我自己的函数,该函数从另一个 2D 三角形中减去一个,并将余数作为一个三角形的 n 数组返回。 (不使用现有的几何库)
输入和输出的两个例子,三角形编号,顺序不重要。
虽然我对这类算法比较熟悉,但这似乎是一个足够普遍的问题,可能已经编写了一个已知的强大解决方案(如果没有,我可能会考虑编写一个作为这个问题的答案)
【问题讨论】:
-
我不清楚问题是什么。您是否要求提供多边形剪裁文献、示例代码或可以进行多边形剪裁的库的链接?例如,CGAL 就包含了这样的功能,它使用了 nef 多边形的思想。
-
如果蓝色三角形是:与红色三角形完全相同(只是按比例缩小)并位于红色三角形的中间,会发生什么?
-
@paul-hankin 我对示例代码或显示经过验证的真实方法的论文感兴趣,例如stackoverflow.com/a/40902741/432509
-
@goozzi 它将用三角形填充该区域,我没有包括所有可能的情况,但是数量有限,这应该是一个相当简单的可解决问题。 (我为什么要在这里问)。
-
本主题属于 CSG(constructive solid geomtry)操作组。 99% 的案例通常可以直接实施。然而,最后的 1% 非常糟糕,包含各种极端情况,如非流形输出、浮点精度导致的不一致决策等。您的稳健性要求是什么?如果你需要一些健壮的东西,我会建议一个成熟的 CSG 库(我没有想到,但应该有一些)。