python绘制蕨菜叶分形

server/2024/10/16 4:28:31/

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

在这里插入图片描述
使用了四个不同的线性变换,根据概率选择其中一个变换并更新 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/server/102451.html

相关文章

初始化列表 / 隐式转换 / 静态

目录 初始化列表隐式转换单参数的隐式类型转换多参数的隐式类型转换explicit关键字 static 初始化列表 大部分时候成员变量在对象实例化的时候调用构造函数就整体定义了&#xff0c;注意此时只有定义&#xff0c;不算初始化。而定义后的值的值是在构造函数里面给的。我们知道构…

王立铭脑科学50讲——05篇,脑到底是有什么组成?

王立铭脑科学50讲——05篇&#xff0c;脑到底是有什么组成&#xff1f; 我对课程感兴趣的点&#xff1a; 1、神经元学说 &#xff08;1&#xff09;神经细胞的信号传递有明确的方向&#xff0c;从树突到细胞体&#xff0c;再从细胞体到轴突 &#xff08;2&#xff09;细胞的…

初识Linux · 基本指令(1)

目录 前言&#xff1a; 基本指令 1.1 pwd 1.2 ls 1.3 mkdir cd clear 1.4 touch 1.5 ls部分补充 1.6 whoami 1.7 有关目录以及路径 前言&#xff1a; 今天是Linux系列的第一章节&#xff0c;对于Linux的主线学习大概会更新两个半月左右&#xff0c;中间穿插着算法…

Java垃圾收集器工作原理

在Java编程中&#xff0c;对象的内存分配主要发生在堆&#xff08;Heap&#xff09;上。堆是Java虚拟机&#xff08;JVM&#xff09;中的一块运行时数据区&#xff0c;用于存放由new关键字创建的对象和数组。与栈&#xff08;Stack&#xff09;内存分配相比&#xff0c;堆内存分…

Python知识点:如何使用OpenCV与Raspberry Pi进行摄像头应用

要在Raspberry Pi上使用OpenCV进行摄像头应用&#xff0c;你可以按照以下步骤进行操作&#xff1a; 安装OpenCV和相关依赖&#xff1a;首先&#xff0c;确保你的Raspberry Pi系统是最新的&#xff0c;然后安装OpenCV库。你可以通过apt-get或pip来安装OpenCV。例如&#xff0c;使…

使用docker compose一键部署redis服务

使用docker compose一键部署redis服务 1、创建安装目录 mkdir /data/redis/ -p && cd /data/redis2、创建docker-compose.yml文件 version: 3 services:redis:image: registry.cn-hangzhou.aliyuncs.com/xiaopangpang/redis:7.0.5container_name: redisrestart: al…

R 语言学习教程,从入门到精通,R CSV 文件使用(17)

1、R CSV 文件 R 作为统计学专业工具&#xff0c;如果只能人工的导入和导出数据将使其功能变得没有意义&#xff0c;所以 R 支持批量的从主流的表格存储格式文件&#xff08;例如 CSV、Excel、XML 等&#xff09;中获取数据。 1.1、CSV 表格交互 CSV&#xff08;Comma-Separ…

【SQL】科目种类

目录 题目 分析 代码 题目 表: Teacher ------------------- | Column Name | Type | ------------------- | teacher_id | int | | subject_id | int | | dept_id | int | ------------------- 在 SQL 中&#xff0c;(subject_id, dept_id) 是该表的主键。 该表…