生活百科知识

经验知识首页 > 男科 > 详细经验讲解内容页

[视频]用DOL系统绘制分形(python3.6)

关于三菱用DOL系统绘制分形(python3.6),期待您的经验分享,不知道说什么,送你一朵小红花吧 !
无情天魔精致 2018-10-07 20:56:37 41356人看过 分享经验到微博

更新:2024-01-03 13:46:51自创经验

来自360问答https://wenda.so.com/的优秀用户无情天魔精致,于2018-10-07在生活百科知识平台总结分享了一篇关于“用DOL系统绘制分形(python3.6)喜鹊”的经验,非常感谢无情天魔精致的辛苦付出,他总结的解决技巧方法及常用办法如下:

本文,使用fractal模块,绘制分形图案。

工具/原料

电脑python3.6

方法/步骤

1/7分步阅读

安装fractal模块。

pip install fractal

[图]2/7

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

……

pygame.quit()

sys.exit()

……

[图]3/7

然后新建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)

[图]4/7

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()

[图]5/7

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()

[图]6/7

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()

[图]7/7

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()

[图]