图文版权归原作者所有
思路如下:
绘制矩形边框,边框内生成随机点(Pop2D),并Graft,每个点自成一组。
用多段线绘制文字,并Join,得到N条多段线,并求得每个点在所有多段线上的最近点(Crv CP),此时Graft后的每组点能够生成N个最近点。
求每个点与N条多段线上最近点的距离(Dist),得到N个距离数据,对数据进行从小到大的排序(Sort),并提取中最小值(Item),从而得到与每个点最近的那条多段线上的最近点。
再求出每个点和其最近点的距离(Dist),以及每个点和其最近点的矢量方向(Vect2Pt),这两个数据可作为随机点的移动向量。
对距离除以2,即实际距离越小,移动距离越小,(如实际距离是2,移动距离为1,实际距离为4,移动距离仅为2,使得离多段线较远的点移动较少,有利于疏密关系对比更明显)。得到移动向量(Amp)。
为了疏密对比更强烈,把大于一定距离的点剔除掉,只剩下距离较近的点。
对剩下的点进行移动(Move),用移动后的点生成泰森多边形(Voronoi)。
感觉应该还有很多可以优化的地方
|