python绘制蕨菜叶分形

embedded/2024/9/24 17:14:09/

一花一叶一世界,一草一木一浮生.

在这里插入图片描述
使用了四个不同的线性变换,根据概率选择其中一个变换并更新 x 和 y 坐标。然后将生成的绿色点绘制出来,形成一片蕨菜叶。

python">import numpy as np
import matplotlib.pyplot as pltdef fern_fractal(num_points):# 初始化坐标x, y = 0, 0points = []for _ in range(num_points):# 生成随机数以选择变换r = np.random.rand()# 根据概率选择变换if r < 0.01:# 变换 1x_new = 0y_new = 0.16 * yelif r < 0.86:# 变换 2x_new = 0.85 * x + 0.04 * yy_new = -0.04 * x + 0.85 * y + 1.6elif r < 0.93:# 变换 3x_new = 0.2 * x - 0.26 * yy_new = 0.23 * x + 0.22 * y + 1.6else:# 变换 4x_new = -0.15 * x + 0.28 * yy_new = 0.26 * x + 0.24 * y + 0.44# 更新坐标x, y = x_new, y_newpoints.append((x, y))return np.array(points)# 设置点的数量
num_points = 100000
points = fern_fractal(num_points)# 绘制分形
plt.figure(figsize=(8, 12))
plt.plot(points[:, 0], points[:, 1], 'g.', markersize=0.5)  # 绘制蕨菜叶
plt.axis('off')  # 关闭坐标轴
plt.title('Fern Fractal')
plt.show()

http://www.ppmy.cn/embedded/96035.html

相关文章

绕过Cloudflare的两种简便方案

文章目录 什么是Cloudflare风控1. Web 应用防火墙 (WAF)2. DDoS 防护3. Bot 管理4. IP 声誉评分5. 安全等级设置6. API 安全7. 访问控制8. 流量分析与报告总结Cloudflare风控特征如何绕过1. 基础版Cloudflare绕过2. 质询版Cloudflare绕过什么是Cloudflare风控 Cloudflare 的风…

可视化编程-七巧低代码入门02

1.1.什么是可视化编程 非可视化编程是一种直接在集成开发环境中&#xff08;IDE&#xff09;编写代码的编程方式&#xff0c;这种编程方式要求开发人员具备深入的编程知识&#xff0c;开发效率相对较低&#xff0c;代码维护难度较大&#xff0c;容易出现错误&#xff0c;也需要…

原创音乐小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;歌曲类型管理&#xff0c;歌曲信息管理&#xff0c;热门歌手管理&#xff0c;音乐资讯管理&#xff0c;系统管理 微信端账号功能包括&#xff1a;系统首页&#xff0c;歌曲信息&a…

LVS理论知识

目录 1.描述以及工作原理 1.什么是LVS 2.LVS调度算法 1.静态调度算法 1.轮询RR 2.加权轮询WRR 3.目标地址hash---DH 4.源地址hash---SH 2.动态调度算法 1.LC最少连接 2.wlc加权最少连接 3.sed最少期望延迟 4.nq不排队调度算法 5.lblc基于本地最少连接 6.lnlcr带…

Elasticsearch 聚合概览及示例

Elasticsearch 是一个强大的搜索引擎&#xff0c;除了提供搜索功能外&#xff0c;它还内置了丰富的聚合功能&#xff0c;允许用户对数据进行统计、分析和运算。聚合可以帮助我们理解数据的分布和统计特性&#xff0c;是数据探索和报告的重要工具。本文将介绍 Elasticsearch 中的…

Linux - 认知 root用户 继续!

1.root用户&#xff08;超级管理员&#xff09; 在Linux系统中&#xff0c;拥有最大权限的账户名&#xff1a;root&#xff08;超级管理员&#xff09; 而在前期&#xff0c;我们一直使用的账户是普通的用户 root用户拥有最大的系统操作权限&#xff0c;而普通用户在许多地方…

js 获取浏览器当前窗口url及参数等

需求&#xff1a;获取浏览器当前窗口的url及参数。 思路&#xff1a;通过window.location获取url的信息。 1.window.location的属性 /* href&#xff1a;完整的URL字符串。 protocol&#xff1a;URL的协议部分&#xff0c;如"http:"或"https:"。 host&…

为什么要柔性设定制造产能?如何根据工作时间进行产能缓冲划分?

在当今制造业的激烈竞争中&#xff0c;生产能力的柔性设定成为了企业满足客户需求、维持市场竞争力的关键策略。面对不断变化的市场环境和客户需求&#xff0c;以及生产过程中可能出现的各种不确定因素&#xff0c;如设备故障、材料短缺、人力不足和质量问题&#xff0c;制造型…