完成 2D 三角测量后,一些三角形具有相同的颜色,我想重新组合它们以绘制类似颜色的图形路径。我发现,如果我只是一一绘制三角形,一些图形渲染器会显示三角形之间的接缝(至少在涉及抗锯齿和/或透明度的情况下)。
那么,如何获取一组(不重叠)三角形并生成可能包含孔和不相交多边形的图形路径?
盲目地将三角形添加到图形路径实际上对于填充来说效果很好(当然,对于描边来说不是),但是导出这些额外的内部点感觉不太正确。
将每个三角形视为由三个逆时针链向量组成的轮廓。
<--^
| /
|/
V
因此,对于形状中的所有三角形,取其轮廓向量的并集。如果并集中的两个轮廓向量相同但方向相反,则它们会相互抵消并从并集中删除。
例如,对于两个并排的三角形,并集是 6 个向量
<--^^
| //|
|// |
VV-->
这减少到 4 个向量,因为中间的两个对角向量抵消了,因为它们相同但方向相反:
<--^
| |
| |
V-->
您会发现这适用于较大的三角形聚合。只需将生成的向量尾部连接到头部即可获得闭合路径。一些封闭的路径可能是顺时针方向延伸的,这些就是洞。
<-----<-----<-----^
| |
| |
V ^-----> ^
| | | |
| | | |
V <-----V ^
| |
| |
V----->----->----->
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)