[视频]用DOL系统绘制分形(python3.6)
更新:2024-01-03 13:46:51自创经验
本文,使用fractal模块,绘制分形图案。
工具/原料
电脑python3.6方法/步骤
1/7分步阅读安装fractal模块。
pip install fractal

打开python安装目录里面的lib\site-packages\fractal文件夹里面的base.py文件,把第45行的内容改为:
……
pygame.quit()
sys.exit()
……

然后新建py文件,运行如下代码:
from fractal import Pen
p = Pen([500, 300], title="Koch")
p.setPoint([5, 190])
p.doD0L(omega="f", P={"f": "f+f--f+f"},
delta=60, times=5, length=490, rate=3)

p = Pen([500, 500], title="Window")
p.setPoint([100, 495])
p.doD0L(omega="f+f+f+f+f", P={"f": "ff+f--f+f"},
delta=72, times=3, length=490, rate=4.3)
p.save('0.png')
p.wait()

p = Pen([500, 500], title="Window")
p.setPoint([100, 495])
p.doD0L(omega="f+f+f+f+f", P={"f": "ff+f--f+f"},
delta=72, times=5, length=490, rate=4)
p.save('0.png')
p.wait()

from fractal import IFS
from random import random
def ifsp(x, y):
p = random()
if p < 0.01:
return (0, 0.16 * y)
elif p < 0.07:
if random() > 0.5:
return (0.21 * x - 0.25 * y, 0.25 * x + 0.21 * y + 0.44)
else:
return (-0.2 * x + 0.26 * y, 0.23 * x + 0.22 * y + 0.6)
else:
return (0.85 * x + 0.1 * y, -0.05 * x + 0.85 * y + 0.6)
ob = IFS([400, 500], title = "Leaf")
ob.setPx(100, 100, 100)
ob.setIfsp(ifsp)
ob.doIFS(200000)
ob.wait()

from fractal import Pen
p = Pen([500, 365])
p.setPoint([400, 200])
p.setWidth(1)
p.doD0L(omega="L", P={"L": "L+R", "R": "L-R"},
delta=90, times=20, length=900, rate=1.5)
p.save('0.png')
p.wait()

游戏/数码经验推荐
- Q华为手机如何开启防误触模式?
- Q有啥如何在粉笔教师开启消息通知
- Q经常噗叽APP如何注销账号
- Q这里如何在有柿设置免打扰时间
- Q我想怎么在乐音隐藏房间状态
- Q哪种怎么在果冻直播清理缓存
- Q想要如何查看扇贝阅读的资质证照
- Q应该如何查看进圈主播入驻协议
- Q怎么讲怎么在咪咕云书店填写收货地址
- Q告诉如何查看姐妹邦的营业执照
- Q怎么写怎么在猎游申请成为游戏订单猎人
- Q那么如何在桃遇查看用户隐私政策
- Q关于怎么在洋码头设置双重验证
- Q那么怎么在美团极速版修改支付密码
- Q哪的数字人民币怎么开通支付宝平台的钱包快...
- Q谁知道微信已支持数字人民币钱包付款
- Q怎么怎么在樊登读书填写收货地址
- Q哪的怎么在吱语开启小窗播放功能
- Q这样如何在大象比分查看用户充值协议
- Q文明与征服经验获得途径有哪些
- Q西瓜视频如何申请未成年人充值退款
- Q荣耀60Pro简易模式怎么开启
- Q排位赛周报在哪里
已有 51633 位经验达人注册
已帮助 268006 人解决了问题