Algorithm 如何为多边形创建内部螺旋线?

Algorithm 如何为多边形创建内部螺旋线?,algorithm,geometry,polygon,computational-geometry,Algorithm,Geometry,Polygon,Computational Geometry,对于任何形状,如何在其内部创建类似形状的螺旋。这将是一个类似于边界(使用Minkowski和)的想法。而不是在形状内部创建相同的形状,尽管它将是相同形状的螺旋 我发现这个- 它根据传递的参数创建一个缓和曲线,以便可以用于任何规则形状 我想以上的所有形状,即不规则多边形了 我对几何术语不是很熟悉,但我也查过渐开线和内部螺旋搜索算法,但对我来说没什么用处 有没有人知道我在哪里可以找到这样的算法,或者至少知道我是如何想出这样的算法的?这项任务非常难完成 需要使用螺旋填充边界多边形 我想你已经有了 通过

对于任何形状,如何在其内部创建类似形状的螺旋。这将是一个类似于边界(使用Minkowski和)的想法。而不是在形状内部创建相同的形状,尽管它将是相同形状的螺旋

我发现这个-

它根据传递的参数创建一个缓和曲线,以便可以用于任何规则形状

我想以上的所有形状,即不规则多边形了

我对几何术语不是很熟悉,但我也查过渐开线和内部螺旋搜索算法,但对我来说没什么用处


有没有人知道我在哪里可以找到这样的算法,或者至少知道我是如何想出这样的算法的?

这项任务非常难完成

  • 需要使用螺旋填充边界多边形

    我想你已经有了

  • 通过按步骤向内移动所有线来创建新的较小多边形。

    类似于围绕多边形创建笔划线。步长是螺钉宽度,因此在多边形开始处为
    0
    ,在结束处为
    d

  • 从新生成的螺钉中删除无效线

    拐角和曲率上的一些线将相交。这很难可靠地检测/修复

    • 基本的
  • 重复(执行下一个螺钉)。。。直到找不到螺钉的空间

    但是现在,在第一个螺钉之后,步骤总是
    d
    ,这不一定会填充整个形状。例如,如果形状上有一些较薄的点,则填充速度将比其他点快得多,因此仍然可以留下一些孔

    你应该检测它们,并按你认为合适的方式处理

    请注意,如果该区域已填充,则检测也不是微不足道的

  • 这就是这种方法的样子:

    [Notes]

    如果你忘记了螺旋,想要用之字形或类似的图案填充内部,那么这并不难


    螺旋填充会产生很多困难的几何问题,如果你不擅长几何和向量数学,这项任务对于这个领域的初学者甚至是中等技能的程序员来说是一个太大的挑战,无法使它正常工作。这至少是我的观点(就像我以前做的那样),所以就这样处理吧。

    我使用基于Voronoi图中轴的polgyon偏移量来处理类似的事情。这并不简单。我无法共享该代码,因为它属于我工作过的公司,可能不完全符合您的需要

    但我在其他人那里发现了一些类似的东西: