多边形三角剖分的对立面是什么?
-
01-10-2019 - |
题
完成2D三角剖分后,有些三角形具有相同的颜色,我想重组它们以将其绘制成类似的图形路径。我发现,如果我只是绘制三角形,一些图形渲染器会在三角形之间显示接缝(至少涉及抗异化和/或透明度)。
那么,如何采用一组(非重叠的)三角形并产生一个可能包含孔和不相交多边形的图形路径?
盲目地将三角形添加到图形路径中实际上非常适合填充(尽管当然不是抚摸),但是导出这些额外的内部点并不适合。
解决方案
将每个三角形视为由逆时针链中的三个向量组成的轮廓。
<--^
| /
|/
V
因此,对于所有三角形的三角形,请将其轮廓向量结合在一起。如果联盟中的两个大纲向量是相同的,但朝相反的方向发展,则它们相互取消并将其从工会中撤离。
例如,对于并排的两个三角形,联盟为6个向量
<--^^
| //|
|// |
VV-->
由于中间取消的两个对角线矢量,因此减少了4个向量,因为它们是相同的,但朝相反的方向运行:
<--^
| |
| |
V-->
您会发现这适用于更大的三角形聚集。只需将最终的向量尾部连接到头部即可获得封闭的路径。一些封闭的路径可能会顺时针旋转,这些都是孔。
<-----<-----<-----^
| |
| |
V ^-----> ^
| | | |
| | | |
V <-----V ^
| |
| |
V----->----->----->
不隶属于 StackOverflow