利用python画分形图_「分形」python简单的分形图片 - seo实验室
分形
康托集
# 康托集
import pygame
pygame.init()
screen = pygame.display.set_caption('康托集')
screen = pygame.display.set_mode([1000, 250])
screen.fill([255, 255, 255])
pygame.display.flip()
len0 = 1000 # 初始线条长度
leni = len0 # 当前最小线条长度
line = 0 # 当前行数
while leni > 1:
for event in pygame.event.get():
if event.type == pygame.QUIT:
exit()
n = 2**line # 集合元素份数
tep = [0, ] # 元素第一个端点位置
while len(tep) < n:
nt = (tep[-1] + leni) * 2 # 接下来首个元素位置
tepp = [] # 接下来元素位置
for j in tep:
tepp.APPend(nt + j)
tep.extend(tepp)
for k in tep:
pygame.draw.line(screen, [0, 0, 0], [
k, 30 * line + 5], [k + leni, 30 * line + 5], 10)
pygame.display.flip()
line += 1
leni = leni / 3
while 1:
for event in pygame.event.get():
if event.type == pygame.QUIT:
exit()
输出:
康托尘埃
代码:
# 康托尘埃
import pygame
pygame.init()
screen = pygame.display.set_caption('康托尘埃')
screen = pygame.display.set_mode([487, 487])
screen.fill([255, 255, 255])
pygame.display.flip()
cantor = [1, ] # 起点集,最小像素为1
while (cantor[-1] + 1) * 3 < 1000:
st = (cantor[-1] + 1) * 2 # 下一迭代起点
tep = []
for i in cantor:
tep.append(st + i) # 重复上一子集
cantor.extend(tep)
# print(cantor[-1]) # 输出最大像素起点
for i in cantor:
for j in cantor:
screen.set_at([i, j], [0, 0, 0])
pygame.display.flip()
while 1:
for event in pygame.event.get():
if event.type == pygame.QUIT:
exit()
输出:
方块分形
代码:
# 方块分形
import pygame
maxlen = 500 # 边界
pygame.init()
screen = pygame.display.set_caption('方块分形')
screen = pygame.display.set_mode([maxlen, maxlen])
screen.fill([255, 255, 255])
pygame.display.flip()
def draw(st, leni):
# st: 左上角点位置[left,top]
# leni: 当前方块边长
if leni > 3:
leni /= 3
draw(st, leni) # 左上
draw([st[0] + leni * 2, st[1]], leni) # 右上
draw([st[0] + leni, st[1] + leni], leni) # 中间
draw([st[0], st[1] + leni * 2], leni) # 左下
draw([st[0] + leni * 2, st[1] + leni * 2], leni) # 右下
pygame.display.flip()
else:
pygame.draw.rect(screen, [0, 0, 0], [st[0], st[1], leni, leni])
draw([0, 0], maxlen)
while 1:
for event in pygame.event.get():
if event.type == pygame.QUIT:
exit()
输出:
谢尔宾斯基三角垫
代码:
# 谢尔宾斯基三角垫
import pygame
maxlen = 500 # 边界
pygame.init()
screen = pygame.display.set_caption('谢尔宾斯基三角垫')
screen = pygame.display.set_mode([maxlen, maxlen])
screen.fill([255, 255, 255])
pygame.display.flip()
def mid(a, b):
# 求出a, b点的中点坐标
return [(a[0] + b[0]) / 2, (a[1] + b[1]) / 2]
def draw(one, two, tri):
# 参数代表三个顶点,上、左、右排序
if one[0] - two[0] > 2: # 可分
draw(one, mid(one, two), mid(one, tri)) # 画上面的三角
draw(mid(one, two), two, mid(two, tri)) # 画左边三角
draw(mid(one, tri), mid(two, tri), tri) # 画右边的三角
pygame.display.flip()
else: # 达到最小结构
pygame.draw.polygon(screen, [0, 0, 0], [one, two, tri])
draw([maxlen / 2, 0], [0, maxlen], [maxlen, maxlen])
while 1:
for event in pygame.event.get():
if event.type == pygame.QUIT:
exit()
输出:
谢尔宾斯基方毯
代码:
# 谢尔宾斯基方毯
import pygame
maxlen = 500 # 边界
pygame.init()
screen = pygame.display.set_caption('谢尔宾斯基方毯')
screen = pygame.display.set_mode([maxlen, maxlen])
screen.fill([0, 0, 0])
pygame.display.flip()
def p2(p, r, d):
# p: 参考左上顶点
# r: 距离参考点向右偏移距离
# d: 距离参考点向下偏离距离
return [p[0] + r, p[1] + d]
def points(p, leni):
# 返回p,leni对应的四边形四个顶点列表
return [p, p2(p, leni, 0), p2(p, leni, leni), p2(p, 0, leni)]
def draw(p, leni):
# p:左上顶点
# leni:边长
leni /= 3
pygame.draw.polygon(screen, [255, 255, 255],
points(p2(p, leni, leni), leni))
if leni > 3:
draw(p, leni)
draw(p2(p, leni, 0), leni)
draw(p2(p, 2 * leni, 0), leni)
draw(p2(p, 0, leni), leni)
draw(p2(p, 2 * leni, leni), leni)
draw(p2(p, 0, 2 * leni), leni)
draw(p2(p, leni, 2 * leni), leni)
draw(p2(p, 2 * leni, 2 * leni), leni)
pygame.display.flip()
draw([0, 0], maxlen)
while 1:
for event in pygame.event.get():
if event.type == pygame.QUIT:
exit()
输出:
相关阅读
"""
A Simple Version of Midway Island Naval Warfare with Pthon for Easy Learning by lixingqiu
这个射击游戏是使用Arcade模
在上一篇博客中,我们已经仔细讲解了iloc和loc,只是简单了提到了ix。这是因为相比于前2者,ix更复杂,也更让人迷惑。
因此,本篇博客通过
hadoop的FileSplit简单使用FileSplit类继承关系:FileSplit类中的属性和方法:作业输入:[java]
view plain
copy
print?hadoop@hado
新零售区别于传统零售,它的核心是以人为本,利用当下发达的数字技术充分逼近消费者的内心需求,重构人货场,实现“以消费者体验为中心”
通过jQuery ajax实现从服务器查询数据,返回给前端并显示到html页面
html文件
利用python画分形图_「分形」python简单的分形图片 - seo实验室相关推荐
- 用python画盒图_[519]matplotlib(四)|Python中用matplotlib绘制盒状图(Boxplots)和小提琴图(Violinplots)...
简单的盒状图 import matplotlib.pyplot as plt import numpy as np all_data = [np.random.normal(0, std, 100) ...
- cookiejar包_「cookiejar」http.cookiejar库之CookieJar - seo实验室
cookiejar cookiejar和HTTPCookieProcessor 我们在使用爬虫的时候,经常会用到cookie进行模拟登陆和访问.在使用urllib库做爬虫,我们需要借助http.coo ...
- android seekto实现_「seekto」android MediaPlayer 的SeekTo 方法 - seo实验室
seekto Android使用 mediaplayer 播放video视频过程中, 当用户退出当前播放,再从后台恢复播放时,需要跳转到之前退出的时间点继续播放. 使用的方法基本都是 seekto 之 ...
- python画circos图_从零开始学CIRCOS绘制圈图(四)
从零开始学CIRCOS绘制圈图(一) 从零开始学CIRCOS绘制圈图(二) 从零开始学CIRCOS绘制圈图(三) 通常circos的中间部分不是空白区域,会用一条条线进行连接,表示两个染色体部分区域有 ...
- python画平行坐标图_[宜配屋]听图阁
平行坐标图,一种数据可视化的方式.以多个垂直平行的坐标轴表示多个维度,以维度上的刻度表示在该属性上对应值,相连而得的一个折线表示一个样本,以不同颜色区分类别. 但是很可惜,才疏学浅,没办法在Pytho ...
- python画环形图_用Python把图做的好看点:用Matplotlib画个环形图
P老板:小Lo啊,你觉得这几个图好看吗 我:好看,好看 P老板:我也觉得,这个月的月报,就用这个把,你给我几个,我看看 我:..... 于是乎,我们今天的目标是什么!!! 画个环形图!!! 今天,我们 ...
- python画厢式图_用matplotlib画箱体图(boxplot)
画boxplot的接口为 matplotlib.pyplot.boxplot,不过在画之前,我需要好好理解一下箱体图所代表的含义和计算方法. 用一个实际的例子来说明如何画boxplot,这个例子来自w ...
- powerdesigner画关系图_「俯首甘为孺子牛」李可染牧牛图赏析
李可染,中国近代杰出的画家.诗人,画家齐白石的弟子.李可染自幼即喜绘画,13岁时学画山水.43岁任中央美术学院教授,49岁为变革山水画,行程数万里旅行写生.72岁任中国美术家协会副主席.中国画研究院院 ...
- python画漏斗图_只需简单几步,教你用python完成漏斗图的绘制
商业分析中经常会用到漏斗图.尤其是在网站流量监控.电商商品转化等一些数据运营方面.漏斗图之所以是漏斗就就是倒三角的形状,是因为用户或者流量,集中从某个功能点进入,很大可能会按照产品本身设定的流程来完成 ...
- python 中主线程结束 子线程还在运行么_「干货」python线程笔记
引言&动机 考虑一下这个场景,我们有10000条数据需要处理,处理每条数据需要花费1秒,但读取数据只需要0.1秒,每条数据互不干扰.该如何执行才能花费时间最短呢? 在多线程(MT)编程出现之前 ...
最新文章
- centos下yum安装nginx
- VS调试时怎么跳过for循环?
- Node.js 笔记01
- android 学习随笔十六(广播 )
- 颓废了1年+,今天开始勤(tui)奋(fei)啦
- 4.RabbitMQ 安装
- python安装笔记_Python学习笔记(一)python的安装和配置
- 集合代码----小练习3
- UVA 11624 BFS
- 柳州计算机一级考试报名时间,2021计算机考试报名时间和考试时间
- TwinCAT 3 故障程序
- IDEA 运行 Tomcat 中文乱码的问题
- 【Codeforces613D】Kingdom and its Cities【虚树】【Tree DP】
- CE是什么缩写,是什么含义
- Gartner数据库魔力象限2022:阿里领先、腾讯再次进入、华为退出
- SE,SA和RD都代表什么
- mysql : 使用不等于过滤null的问题
- 保研面试/考研复试:英语口语面试必备话题及常用句型句式整理(三)
- 决策理论(decision theory)
- 模型实践| CLIP 模型
热门文章
- -I (大写i)、-L、-l(小写L) 的使用
- WAP流量变现的几种方式
- 公众号原主体营业执照已注销 如何办理账号迁移和公证书?
- MySql的详细安装与配置步骤
- 【Python机器学习】标注任务与序列问题讲解(图文解释)
- Arduino + SmartAirFilter 制作智能感应的 PM 空气净化器
- 图片太大怎么改小kb?简单的图片压缩方法分享
- 蓝牙协议栈接收数据包流程1
- UBI,MTD(Memory Technology Device),raw flash,emmc,Flash,Block Device
- IT通过什么途径去美国工作?