我有一个由一系列2D点组成的路径。我想将这些转换成三角形带,以便使用指定的粗细(和其他相关内容)呈现纹理线条。因此,2D点列表需要变成指定多边形轮廓的顶点列表,以渲染出该线条。问题在于如何处理拐角连接、斜接、端点等。生成的多边形需要“完美”,即没有重叠、清晰的连接等,以便可以可行地拉伸或进行其他操作。
是否有任何简单的资源可以提供算法见解、代码或有关高效执行此操作的更多信息?
我绝对不想要完整的2D向量库(cairo,antigrain,OpenVG等),其中包含曲线、弧线、虚线和所有功能。我一直在多个OpenVG实现和其他东西的源代码树中挖掘来寻找一些见解,但这一切都非常复杂。
我肯定愿意自己编写代码,但存在许多退化案例(小段+厚度+尖角),这些情况会产生各种连接问题。即使只有一点点帮助也可以节省我数小时的尝试来解决它们。
编辑:这是其中一个导致丑陋结果的退化案例,如果仅从顶点到顶点进行操作。红色是原始路径。橙色块是在每个段上对齐并居中绘制的指定宽度的矩形。