如何渲染填充路径?

mrp*_*pyo 5 algorithm vector-graphics

用于渲染填充路径的矢量图形中使用的标准算法是什么?

我不仅对渲染笔画的过程感兴趣,我还想知道如何填充形状 - 如何确定给定的点是在路径的内部还是外部(我相信甚至指定内部和外部的规则)意思是不是一件简单的事情).

Spe*_*tre 2

  1. 找到轮廓(多边形的周长)

    我想你已经有了

  2. 三角剖分(或切割成凸多边形)

    有很多方法,例如:

    • 夹耳
    • 德洛奈

    请参阅Wiki 多边形三角剖分

  3. 填充凸三角形/多边形

    这很容易使用

  4. 风格

    这些东西比乍一听来要复杂得多。为了:

    1. 轮廓宽度 pen,stroke

      通过将轮廓移出或移入将其转换为多边形。有关更多信息,请参阅

    2. 轮廓样式 pen,stroke

      全,短划线,点点,...有关更多信息,请参阅

    3. 填充方式 brush

      就像孵化一样,这是最复杂的。它涉及大量的多边形调整,类似于轮廓宽度,但难度更大。有些样式比较简单,有些则极其复杂,例如等距线填充很简单loop + intersection + inside polygon test will。要测试内部多边形,可以使用命中测试