C4D制作python脚本一键创建福特圆创意图形脚本

C4D制作python脚本一键创建福特圆创意图形脚本  [复制链接]

C4D插件 2022-12-19 14:19 发布

版权归原作者所有,仅供交流学习,禁止商业使用!
C4D插件
作用分类: 运动图形 » 其他
插件分类: 脚本预设
使用教程: 无教程
支持(高版本请自测): R15 R16 R17 R18 R19 R20 R21 S22 R23 R24 R25 R26 2023 
支持语言: 英文 
支持系统: PC MAC 
出现位置: 脚本菜单 
检索码: -

    1.jpg

前阵子了解到福特圈的特点,就想着是不是可以用C4D键生成。总结成一篇文章,分享给感兴趣的站友。在制作《福特圈》之前,福特圈是什么?


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

两个分数的法里和:a/b+c/d=(a+c)/(b+d)

A圆的坐标(a/b,1/2b2),B圆的坐标(c/d,1/2d2),C圆的坐标为((a+c)/(b+d),1/2(b+d)2)且与A,B两个圆相切并与X轴相切。


下面开始构思:

要知道【哪些圆组合】产生第三个圆,并迭代下去。

利用知道的【法里和公式】计算出每组圆产生的第三个圆。


【思考一】(以下的数字均代表圆的序号,用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]。


    02knxrmudovn3udlwuvf2v3133.jpg



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


【思考二】

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

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



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



    02ymnlp8noef8x5jbnz8zl3538.jpg



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


  
    021ugdmntshp8lfw50aehs3337.jpg




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


    022jkesuohyxyszizttcfh3236.jpg

重复遍历产生新的圆。

    02mgbo9lcnrvhxa8yr2fxg3237.jpg



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

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


可以得到:



    022biierl9rtndmqiejl6k3439.jpg



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

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


【使用方法】



    shift+F11打开【脚本管理器】

    【文件】——【导入脚本】——选择脚本即可。

    在场景中创建一个【空对象】并将名字改为要创建圆的数量,例如“200”。

    点击【脚本管理器】右下角的【执行】即可看到生成的一大堆圆了。



    02uph03db04uwh2c4apuvn3934.jpg          

作者:陈在天

来源:站酷

C4D制作python脚本一键创建福特圆创意图形脚本 
关闭

菜鸟C4D推荐上一条 /9 下一条

菜鸟C4D与你一起从零开始!
十年专注C4D学习

( 浙ICP备13033195号-2 )Copyright   ©2013-2024  Powered by©Discuz!  技术支持:cainiao    

|网站地图