C4D中使用python脚本一键生成“福特圆”

用户头像
北京/设计爱好者/3年前/1518浏览
C4D中使用python脚本一键生成“福特圆”

前阵子了解到福特圆的特性,就考虑能不能用C4D一键生成。总结成一片文章分享给感兴趣的站友。

在做“福特圆”之前,要了解什么是福特圆?





了解之后,大概知道了以下信息:

  1. 两个分数的法里和:a/b+c/d=(a+c)/(b+d)
  2. A圆的坐标(a/b,1/2b²),B圆的坐标(c/d,1/2d²),C圆的坐标为((a+c)/(b+d),1/2(b+d)²)且与A,B两个圆相切并与X轴相切。

下面开始构思:

  1. 要知道【哪些圆组合】产生第三个圆,并迭代下去。
  2. 利用知道的【法里和公式】计算出每组圆产生的第三个圆。

【思考一】(以下的数字均代表圆的序号,用python列表表示两个圆与生成第三个圆的“组合配方”)

我从前几次组合总结到:

[0,1,2]

[0,2,3],[1,2,4]

[0,3,5],[2,3,6],[1,4,8],[2,4,9]

.......

  • 一个组合分裂成了两个可产生圆的“组合配方”,每一行的列表数量呈2的幂数增长。
  • 每个列表的第三个元素都是新生成的圆的序号。
  • 这个规律的前提是,首先已经有两个圆,才能产生[0,1,2]。

有了这个”组合配方“,只要遍历并赋值给圆的参数就可以了。

【思考二】

我构想在C4D中,在一个【空对象】下通过python脚本新建圆并赋值给相关参数,逐个生成新圆。

首先要让圆知道自己是由那两个圆产生的,并记录在自己身上,方便后面产生的圆读取。

  • 首先创建两个初始圆A和B,坐标分别为(0/1,1),(1/1,1)。

在新圆上创建【用户数据】,用于保存那个‘配方列表’和需要的信息。

  • 创建圆,根据配方找到上一代的圆并读取参数经过【法里和公式】计算赋值给新的圆。

  • 重复遍历产生新的圆。

在选中的对象上,修改该对象的名字,输入要产生圆的数量。即可产生相应数量的【福特圆】,这样方便。

在程序上做了个保险,迭代数量过大提示窗口并推出。

可以得到:

以上就是一键产生福特圆的分享。

更多的玩法:可以使用C4D中的【分裂】和【动态样条】做出不错的动画来。

=================================================

【脚本下载】

链接:https://pan.baidu.com/s/1-ChwVIsyFI8FB0L092v7zA 提取码:nftn

【使用方法】

  1. shift+F11打开【脚本管理器】
  2. 【文件】——【导入脚本】——选择脚本即可。
  3. 在场景中创建一个【空对象】并将名字改为要创建圆的数量,例如“200”。
  4. 点击【脚本管理器】右下角的【执行】即可看到生成的一大堆圆了。

7
举报
|
14
分享
相关推荐
评论
用户头像
评论你的想法~
表情
喜欢TA的作品吗?喜欢就快来夸夸TA吧!
加载中
推荐素材
三维渲染的流动白色布料透明玻璃背景
虚拟星球与发光燃烧的粒子 三维渲染
黑暗房间内的圆柱展台,三维渲染
三维假期旅行主题
三维渲染炫彩背景
三维地形图,等高线。抽象的点线科技背景,类似云端数据连接、区块链、神经网络的概念。
别墅空场景三维户型剖面图
旋转的漩涡和流动的线条,三维渲染
三维简约空间背景竖版场景
三维渲染红色古典场景
实验室三维场景
夜晚复古风格小镇街道边的贩卖机,三维渲染
卡通风格的三维立体的英文26个字母字母表,白底抠图素材
点线连接的科技矢量背景,三维抽象矢量星球,寓意全球化、国际化,球形世界地图
红色喜庆风格的三维产品展台
三维户型剖面图
3D三维玻璃蓝紫色螺旋弯曲图像背景
三维界面科学技术,科幻场景矢量背景图。
三维卡通医生
深蓝色三维科技地球,全球化、国际化、科学技术概念抽象图形
黑暗房间内的金属方块展台,三维渲染
三维渲染红色礼盒
3D三维玻璃蓝色螺旋弯曲图像背景
三维上海城市天际线
灰色三角四面体、点线链接构成三维空间科技矢量背景
你可能喜欢
相关收藏夹
学习
学习
学习
学习
2
2
2
2
2
9
大家都在看
登录注册