(几乎)自动生成颜色

3月8日,我实现了使用样条线自动绘制表面的实现-为什么不写带有颜色的文章。

原来是这样的:



削减的流量会更多,请多加注意。

生成三次曲线的算法已在前面进行了描述。在这里,我们将尝试应用它来获得类似花卉的效果。唯一的问题是如何选择输入数据。
输入数据是一组在三维空间中具有坐标的点以及它们之间的一组连接,因此在拓扑上,此设计应等效于一个盒子,例如:(



最后应该是这样的:)



这样,使在核心上张紧的立方体表面看起来像一朵花。 ,必须将点对称地排列在围绕花朵中心的外接圆上。为了解决这个问题,应用了“宽度优先搜索”的变体。

分配给所有重量点。首先,我们将权重0和1分配给端点(两个相同的权重不应接近)。这些将是“花瓣”的边缘,0-远处,1-最接近(带引号的“花瓣”,因为这样就没有划分花瓣的边缘)。通过将权重n + 2分配给权重为n的未加权邻居进一步权衡。

加权框:



接下来,为每个权重类别随机选择距花朵中心的距离r。
逻辑如下:权重越大,将点移到中心的位置就越近,不等式也应得到解决:

r0>r2>r4>...>r2n;  r1>r3>...>r2n+1;  r0>r1


其中r是从花的中心到具有相应权重的点的距离。偶数权重负责“花瓣”的中央部分,奇数权重负责“花瓣”的边缘。

为了将点布置在圆上(而不是球面上),我们还必须以z_n <r_n(如果花的中心位于坐标零)的方式随机选择z坐标。



在下一步中,我们需要知道圆上点位置的角度:

 mn    n, αn=2π/mn


如果是偶数,则为第i个权重点n的坐标:

xi=rn2zn2cos(iαn)


yi=rn2zn2sin(iαn)


奇怪的是:

xi=rn2zn2cos(iαn+αn/2)


yi=rn2zn2sin(iαn+αn/2)


此外,我们取分的顺序很重要-它们必须是“邻居”。



在所有这些操作之后,获得了星形结构,可以在其上拉花键。

(顶视图,等轴测图,样条曲线)





此类萼片可以随机分配到100,500,但是要选择合适的萼片,制作几朵花,更好地手动选择颜色和核心参数,因此,生成是半自动的。

(查看汇编软件)













祝贺国际妇女节这一美好的礼拜式社会!我希望你很漂亮。

All Articles