Fractal Family是Blender的一个插件,用于通过数学定义生成分形曲线,支持高斯(Gaussian)和艾森斯坦(Eisenstein)整数域。
请注意,本仓库中的代码可能并不总是最新版本。请参考Blender官方扩展商店以获取最新版本:Fractal Family。
功能
🌀 分形曲线生成
- 支持高斯(G)和艾森斯坦(E)整数域
- 可定制的复数整数坐标
- 镜像和反转的变换标志
- 多级生成(1-20)
📚 预设管理
- 保存/加载分形曲线定义
- 预定义的分形曲线集合
- 基于家族的预设组织
✨ 高级控制
- 多种样条类型(Poly/Smooth)
- 自定义启动样条
🎬 迭代级别动画
虽然此插件不直接支持动画生成,但它为每个级别创建曲线并进行细分,为形状键的使用做准备。使用官方插件“分配形状键”将这些级别曲线转换为形状键。在形状键面板中,禁用相对复选框并滑动评估时间,查看各级之间的动画。
🖥️ 直观UI
- 3D视图侧边栏集成
- 交互式列表控制
- 可视化变换指示器
使用方法
- 打开3D视图侧边栏中的“Fractals”面板。
预设管理:
- 使用资产管理器按钮加载预定义的曲线。
- 从预设列表中选择一个预设。
- 如果进行更改并希望保持,使用文件勾选按钮保存自定义配置。
曲线定义(可选):
- 添加/编辑复数整数对。
- 设置变换标志(镜像/反转)。
- 选择域类型(高斯/艾森斯坦)。
生成:
- 选择样条类型(Poly/Smooth)。
- 设置分形级别(1-20)。
- 可选选择启动样条。
- 点击“创建Teragon曲线”以生成。
动画:
此插件不直接生成动画。相反,它为每个级别生成曲线(来自上一步),并将其细分,为形状键做准备。
- 安装官方插件“分配形状键”。
- 确保只选择上一步生成的曲线(第一个是活动对象)。
- 打开3D视图侧边栏中的编辑面板,找到“曲线形状键”面板,点击“分配形状键”按钮,保持默认设置。
- 只会保留一个曲线对象。在属性编辑器 -> 形状键面板中,禁用相对复选框并调整评估时间滑块,查看各级之间的动画。
限制
- 目前仅支持X-Y平面,这是算法设计的限制。如果需要其他平面,请生成曲线并手动旋转。
- 本插件无法生成所有类型的分形曲线。仅支持使用复数整数格点系统的边替代分形曲线(如Hilbert曲线等节点替代分形曲线不支持)。对于这些,请考虑使用L-System或其他方法。
技术细节
核心算法:
- 《分形曲线家族树:使用复数整数格点的平面填充曲线分类法》,由Jeffrey Ventrella编写。
关键概念:
- 边替代规则:每次迭代时,基本几何元素用线段替代,同时保持端点连接。
- 空间填充机制:通过角度控制的折叠模式实现从1D线到2D平面的连续映射,确保在无限迭代后完全覆盖区域。
- 矩阵变换:复数整数坐标驱动的仿射变换(旋转、缩放、平移),应用于每个细分级别。
生成过程:
- 使用基本多边形或线段定义初始主题。
- 递归应用替代规则并调整缩放因子。
- 使用复数算术进行坐标变换。
数据结构:
- 曲线定义存储为复数整数对 + 变换标志。
- 基于JSON的预设系统(presets.json)。
要求
- Blender 4.2+
- Python 3.7+
许可证
- SPDX: GPL-3.0或更高版本
资源下载
下载价格免费
©版权声明:本站除原创作品外的资源均收集于网络,只做学习和交流使用,版权归原作者所有,若作商业用途,请购买正版。
评论0