由此产生的拼花地板变形具有机械的直线外观 。 对我来说 , 最吸引人的结果是通过继续修改原拼块的边界 , 直到拼块内部不包含任何2 × 2方格 。 图4是基于IH41等面体类型的简单示例;图5中有更多示例 。
图4:通过基于网格的路径的离散修改构建的拼花变形的示例 。 在这种情况下 , 时间参数由“tent”函数控制 , 该函数在设计中心为1 , 在边缘为0 。 此图(以及论文中的其他图)中的最终几何图形是在Adobe Illustrator中编辑的 , 以调整线条宽度并使用颜色渐变填充图块 。
图5:通过方形网格路径的离散修改构建的拼花变形的更多示例 。
4 迭代函数系统
【用于镶嵌变形的曲线演化方案】一种流行的、有吸引力的演变曲线的技术是使用迭代函数系统(IFS) , 它将曲线的细节逐渐增加 , 在极限中产生一个分形 。 在这种情况下 , IFS只是一条从(00)到(10)的片状线性路径 。 通过反复用整个路径的适当转换副本替换其每一段 , 该路径可以被细化到任何数量的世代(见图6) 。 变换可以选择在该段上进行反射 , 也可以对该段完全不进行替换 。
图6:一个简单的迭代函数系统 。 最上面一行显示的是用八条等长的线段组成的路径替换一条线段的规则 。 底部一行显示的是这个规则的零、一、二和三次应用后的路径 。 这条规则被用来构建图7中的顶部拼花变形 。
在这一点上 , 似乎很自然地采取了一连串的路径 , 每条路径都是通过替换其前身而构建的 , 并将它们作为单一进化曲线的离散步骤 , 就像上一节所说的那样 。 然而 , 我发现IFS中各代之间的过渡过于突然 , 无法产生美观的拼花变形 。 一个简单的折衷办法取得了令人满意的结果:我们将路径序列从t=0到t=1均匀地隔开 , 并在t的中间值的相邻关键帧之间进行线性插值 。 虽然线性插值的结果是可以接受的 , 但可能有一些插值算法更适合这项特殊的任务 。 一个更智能的算法会考虑到一个片段和它在未来几代中的 \"后代 \"之间的局部关系 , 对于任何t值 , 都可能包含来自几个(或所有)未来几代的指数递减的细节 。
图7显示了通过给原型中的所有边分配一个单一的迭代函数系统而产生的三个拼花变形的例子 。 图8显示了另外一个基于希尔伯特曲线的例子;这需要额外的工作 , 因为其替换规则不像普通迭代函数系统那样简单 。
图7:基于连续几代迭代函数系统之间的线性插值的拼花变形的三个例子 。
图8:基于希尔伯特曲线的生成步骤的拼花变形 。
5 迷宫式曲线
在构建迷宫的背景下 , Pedersen和Singh开发了一种几何模拟 , 将简单的初始曲线演化成曲折的有机形式[10
。 在他们的算法中 , 曲线上的点经历了布朗运动和几何平滑 , 并受到其他点的物理吸引和排斥力 。 这些力受到化学中伦纳德-琼斯势的启发 , 导致附近的点寻求一个 \"静止距离\" , 在这个距离中 , 吸引力和排斥力被抵消 。 这种算法产生的曲线让人想起TSP艺术[8
和哈特增长形式[3
中的形状 , 尽管Pedersen和Singh提供了大量的(空间变化的)调整参数 , 可以产生更独特的结果 。
我采用了Pedersen和Singh的算法来制作具有迷宫边界的等面体原型 。 原型边界根据它们的模拟而演变 , 但也有一些重要的例外 。 首先 , 正方形的角点必须保持固定 , 因为在最终的拼花地板变形中 , 这些角点将成为密铺顶点 。 其次 , 由于边缘匹配和内部拼块对称 , 边界包含冗余信息 。 密铺边界上一个点的新位置必须考虑到不仅对该点施加的吸引力和排斥力 , 而且还必须考虑对其所有冗余副本施加的吸引力和排斥力 。 这些单独的力可以加在一起 , 以获得点及其副本的单个共享表示的最终位移 。
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
