我有一条由2D点列表组成的路径.我想将它们变成一条三角形,以渲染具有指定厚度的纹理线条(和其他类似的东西).因此,2D点的列表基本上需要成为顶点列表,指定多边形的轮廓,如果渲染将呈现该线.问题在于处理拐角连接,斜角,盖帽等.在没有过度拉伸,清洁连接等意义上,所产生的多边形需要是"完美的",以便它可以被挤压或以其他方式玩弄.
是否有任何简单的资源可以提供算法洞察,代码或有效执行此操作的更多信息?
我绝对不想要一个完整的2D矢量库(cairo,antigrain,OpenVG等),包括曲线,弧形,破折号以及所有的铃声和口哨声.我一直在挖掘OpenVG实现和其他东西的多个源代码树以找到一些见解,但它们都非常复杂.
我绝对愿意自己编写代码,但有很多退化情况(小段+粗宽+尖角)会产生各种连接问题.即使是一点点帮助也可以节省我数小时的时间来处理它们.
编辑:这是一个例子,如果你只是从顶点到顶点,那些导致丑陋的退化情况.红色是原始路径.橙色块是以指定宽度绘制的矩形,对齐并以每个段为中心.
http://www.freeimagehosting.net/uploads/52dc639727.png