关于谢尔宾斯基三角形(Sierpinski triangle)的讲解

article/2025/8/29 17:35:55

 

谢尔宾斯基三角形(Sierpinski triangle)是一种分形由波兰数学家谢尔宾斯基在1915年提出它是自相似集的例子它的豪斯多夫维是log(3)/log(2) ≈ 1.585

谢尔宾斯基(Sierpinski)三角形

1.画一个(正)三角形

2.连接三边的中点,分为四个三角形

3.保留中间的三角形

4.对其余的三个小三角形,重复上述步骤

代码如下:

# 舞台自动重置,kpen和p可直接使用.
p.width(1)
p.speed(10)
p.lt(30)
def get_midpoint(a,b):ax,ay=abx,by=breturn(ax+bx)/2,(ay+by)/2
def draw_triangle(a,b,c):ax,ay=abx,by=bcx,cy=cp.penup()p.goto(ax,ay)p.pendown()p.goto(bx,by)p.goto(cx,cy)p.goto(ax,ay)p.penup()
def draw_sierpinski(triangle,depth):""":param triangle:指定三角形三个顶点坐标,示例:((ax,ay),(bx,by),(cx,cy))。:param depth:指定层数"""a,b,c=triangledraw_triangle(a,b,c)if depth==0:returnelse:d=get_midpoint(a,b)e=get_midpoint(b,c)f=get_midpoint(c,a)draw_sierpinski([a,d,f],depth-1)draw_sierpinski([d,b,e],depth-1)draw_sierpinski([f,e,c],depth-1)
triangle=[[-200,-100],[0,200],[200,-100]]
draw_sierpinski(triangle,5)
p.hide()
p.draw()

在这里我们也用到了递归函数,它有两个特点:一是有退出机制,二是自己调用自己(recursion)就是在运行的时候调用自己,构成递归需具备的两个条件:一个就是调用自己,一个是有终止的条件。这两个条件必须同时具备,且一个都不能少。并且终止条件必须实在递归最开始的地方。这个知识点我在前面已经讲过了。


http://chatgpt.dhexx.cn/article/5CxF2xuR.shtml

相关文章

谢尔宾斯基三角形——python递归

一、 问题描述 类似于分形树,分形三角形——谢尔宾斯基三角形同样是一种分形,由波兰数学家谢尔宾斯基在1915年提出。它是自相似集的例子。它的豪斯多夫维是log(3)/log(2) ≈ 1.585。对于谢尔宾斯基三角形的构造,可以先作一个正三角形&#x…

Redis的RDB和AOP总结

目录 1.RDB和AOF是什么 2.RBD 2.1 配置参数 2.1.1 配置文件位置 2.1.2 save 2.1.3 stop-writes-on-bgsave-error 2.1.4 rdbcompression 2.1.5 rdbchecksum 2.1.6 dbfilename 2.1.7 dir 2.2 fork 2.3 如何触发RDB快照 2.3.1 配置文件中默认的快照配置 2.3.2 客户端使用命令sav…

redis RDB设计与实现

redis RDB设计与实现 文章目录 redis RDB设计与实现RDB功能RDB文件的创建和保存SAVE 和 BGSAVERDB保存冲突RDB文件的载入自动保存 RDB 文件结构 RDB功能 为了使Redis储存在内存中的数据库状态保存到磁盘里面防止丢失,Redis提供了RDB持久化功能,将Redis内…

比redis-rdb-tools快10倍的rdb分析工具

背景 为了满足快速分析rdb的情况,对rdr进行测试调研。 测试环境 测试机器:本机macbook pro 工具:rdr,redis-rdb-toolsrdb 文件:dump_7709.rdb,Redis实例大小3G,rdb文件大小1G git地址&…

Redis持久化之RDB原理

Redis持久化之RDB 一.RDB文件作用二. 触发条件三、执行流程1、总体流程2、fork实现复制原理 四、RDB文件五、 启动时加载六、 RDB常用配置总结七、优缺点1、优点2、缺点 个人复习笔记一.RDB文件作用 RDB持久化是将当前进程中的数据生成快照保存到硬盘(因此也称作快照持久化)&a…

Redis RDB持久化

文章目录 一、持久化简介二、数据快照RDB1. save指令2. RDB文件相关配置验证save后数据保存在了rdb文件验证重启服务后,程序会从rdb文件中恢复数据到内存 3. bgsave指令4. 配置自动持久化5. RDB三种启动方式对比6. rdb特殊启动形式7. RDB优缺点 一、持久化简介 什么…

Redis 持久化与故障恢复之rdb

一、摘要 老生常谈一下吧,redis持久化分为rdb和aof两种模式,本篇先说一说rdb模式吧,共分为三部分:1:如何触发rdb持久化, 2:rdb持久化源码, 3:rdb文件解析。 ps:本文基于r…

【Redis】Redis持久化之RDB详解(Redis专栏启动)

📫作者简介:小明java问道之路,2022年度博客之星全国TOP3,专注于后端、中间件、计算机底层、架构设计演进与稳定性建设优化。文章内容兼具广度深度、大厂技术方案,对待技术喜欢推理加验证,就职于知名金融公司…

redis持久化之rdb

redis持久化之rdb RDB相关配置rdb快照的触发条件rdb快照过程rdb文件结构rdb和aof文件的加载顺序 Redis的RDB持久化方式是指将某个时刻的内存数据进行快照,生成.rdb文件可以用于恢复快照时刻redis的内存数据。 RDB相关配置 我们可以在redis.conf中进行rdb相关的配置…

redis之AOF和RDB持久化

写在前面 redis数据存储在内存,为了避免服务器重启或者是宕机导致数据全部丢失,提供了数据持久化机制,有AOF(Append Only File)和RDB,接下来我们分别看下。 1:AOF 如下是我本地环境生成aof文件: 1.1&am…

AOFRDB

序言 主要用于查看不同备份模式可以调优的一些方式. RDB: Redis服务器在规定时间内将内存中的数据保存到指定路径的文件中,服务器重启的时候直接将RDB文件读取到内存中AOF:Redis服务器以日志的形式追加所有的REDIS操作,服务器重启的时候读取AOF文件依次执行一遍. 关于RDB最主…

RDB持久化触发机制

RDB持久化 触发机制 手动触发 手动触发分别对应save和bgsave命令: save命令:同步,在主线程中保存快照;阻塞当前Redis服务器,直到RDB过程完成为止,对于内存比较大的实例会造成长时间阻塞,线上…

Redis RDB 和 AOF

导读 RDB 和 AOF 对比: 持久化方式选择 如果对数据安全性要求极高,应该同时使用两种持久化方式。 如果可以承受若干时间内的数据丢失,可以只使用 RDB 持久化。 不建议只使用 AOF 持久化,因为定时生成 RDB 快照(s…

java读取rdb_剖析Redis RDB文件

通过redis-cli中执行save或者bgsave可以得到RDB文件(文件名由配置文件中dbfilename指定,例如dbfilename "dump.rdb"),这个文件包含Redis实例中全量的数据,那么dump.rdb的文件格式大概是什么样的呢? RDB文件定义 获取RDB…

Redis RDB文件解析

Redis RDB是什么 Redis rdb是Redis快照存储持久化方式,具体就是将Redis某一时刻的内存数据保存到硬盘的文件当中,默认保存的文件名为dump.rdb,而在Redis服务器启动时,会重新加载dump.rdb文件的数据到内存当中恢复数据&#xff0c…

RDB 持久化详解

文章目录 持久化的执行SAVE:阻塞服务器并创建RDB文件BGSAVE:以非阻塞方式创建RDB文件通过配置文件自动创建RDB文件查看最近持久化时间 RDB优化配置1. save2. stop-write-on-bgsave-error3. rdbcompression4. rdbchecksum5. sanitize-dump-payload6. dbfi…

RDB持久化

RDB持久化 一、RDB快照实现二、快照用法三、执行快照时的数据修改四、RDB 和 AOF 合体 一、RDB快照实现 Redis 是内存数据库,但是它为数据的持久化提供了两个技术。 分别是「 AOF 日志和 RDB 快照」。 这两种技术都会用各用一个日志文件来记录信息,但…

RDB底层原理

Redis服务器自动保存功能的实现原理及文件中的各个组成部分 因为Redis是内存数据库,它将自己的数据库状态储存在内存里 面,所以如果不想办法将储存在内存中的数据库状态保存到磁盘里面, 那么一旦服务器进程退出,服务器中的数据库…

Redis持久化原理(RDB)

在上一篇文章中,介绍了Redis的内存模型很重要,从这篇文章开始,将依次介绍Redis高可用相关的知识——持久化、复制(及读写分离)、哨兵、以及集群。 本文将先说明上述几种技术分别解决了Redis高可用的什么问题;然后详细介绍Redis的…

运行程序时出现 应用程序无法启动,因为应用程序的并行配置不正确

最近发布给客户的程序中,双击exe程序出现“应用程序无法启动,因为应用程序的并行配置不正确”,下面提示使用sxstrace跟踪调试应用程序运行时需要的动态库的版本和路径。 于是有以下操作: 步骤: 1.利用管理员身份运行命…