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

用户头像
北京/设计爱好者/4年前/1524浏览
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吧!
推荐素材
黑暗房间内的金属方块展台,三维渲染
聚集融合的微生物球体,三维渲染
深蓝色三维科技地球,全球化、国际化、科学技术概念抽象图形
点线连接的科技矢量背景,三维抽象矢量星球,寓意全球化、国际化,球形世界地图
扁平化抽象几何三维模型创意时尚海报
三维假期旅行主题
三维金融创意股票基金金融模型
三维渲染抽象波浪流金风格背景
三维渲染人造空间未来科技展厅
三维抽象矢量星球,寓意全球化、国际化,球形世界地图,点和线连接的矢量背景
三维地形图,等高线。抽象的点线科技背景,类似云端数据连接、区块链、神经网络的概念。
红色三维概念礼盒背景
三维上海城市天际线
三维渲染极简北欧风现代家居装饰场景
矢量抽象三维几何图形创意海报
三维渲染的年轻女医生
三维卡通医生
红色喜庆风格的三维产品展台
黑白数字线条与深色背景,三维渲染
三维渲染城市背景
三维渲染人造空间未来科技展厅
矩阵立方体三维空间科技背景
灰色三角四面体、点线链接构成三维空间科技矢量背景
三维户型剖面图
三维界面科学技术,科幻场景矢量背景图。
你可能喜欢
相关收藏夹
学习
学习
学习
学习
2
2
2
2
2
9
大家都在看
登录注册