Python 与神奇的数学之科赫曲线

科赫曲线绘制代码讲解(python实验舱) 绝对正经,新手小白制作,不喜勿喷,妄得打赏,1毛也行。 阅读详情

        切入正题之前,先让我们了解一下分形和分形几何.

        分形(Fractal)一词,是 芒德勃罗 于1973年创造出来的,为不规则、支离破碎之意。其具有以非整数维形式充填空间的形态特征,通常被定义为“一个粗糙或零碎的几何形状,可以分成数个部分,且每一部分都(至少近似地)是整体缩小后的形状”,即具有自相似的性质。

        
        分形几何是一门以不规则几何形态为研究对象的几何学。相对于传统几何学的研究对象为整数维数,如,零维的点、一维的线、二维的面、三维的立体乃至四维的时空。分形几何的研究对象为非负实数维数,如 0.63、1.58、2.72、log2/log3(参见康托尔集)。由于不规则现象在自然界普遍存在,因此分形几何又被称为描述大自然的几何。

        数学意义上分形的生成是基于一个不断迭代的方程式,即一种基于递归的反馈系统。

        既然基于递归,分形几何与 python 就产生了密切的关系。

        下面我们以科赫曲线为例,来展示一下这种关系的魅力。

        科赫曲线(Koch curve)源自 海里格·冯·科赫 的论文,是一种像雪花的几何曲线,故又称为雪花曲线,它是de Rham曲线的特例。科赫曲线是比较典型的分形图形,具有严格的自相似特性。

        给定线段 AB,科赫曲线可以由以下步骤生成:

  • 将线段分成三等份(AC,CD,DB)
  • 以CD为底,向外(内外随意)画一个等边三角形DMC
  • 将线段CD移去
  • 分别对AC,CM,MD,DB重复上述步骤

        上述步骤已昭示了递归的基例(0阶,即线段AB)和链条(等边三角形的两边)。由此我们先以 3 阶科赫曲线为例,其代码为:

#3阶科赫曲线

from turtle import *

def koch(line,n):
    if n==0:
        fd(line)
    else:
        for angle in [0,60,-120,60]:
            lt(angle)
            koch(line/3,n-1)

def main():
    setup(800,400)
    pu()
    goto(-300,-50)
    pd()
    width(2)
    color('blue')
    koch(600,3)
    ht()
main()        
            

        结果如下:

        上述图形已经具备了雪花的部分特征,3 段这样的曲线便可构成完美的雪花。

#科赫雪花

from turtle import *

def koch(line,n):
    if n==0:
        fd(line)
    else:
        for angle in [0,60,-120,60]:
            lt(angle)
            koch(line/3,n-1)

def main():
    setup(1000,600)
    pu()
    goto(-200,100)
    pd()
    width(2)
    color('blue')
    
    level=3    
    koch(400,level)
    rt(120)
    koch(400,level)
    rt(120)
    koch(400,level)
    ht()
main()        
            

 

        3 阶科赫雪花结果如下,具有 192 个顶点:

        是不是很炫呢?! 

         随着 level 也即科赫阶数的增加,科赫雪花的花瓣愈趋细化,顶点也愈趋增多。

        这是 level=5 时的科赫雪花,具有 3072 个顶点。

        综上可见,科赫雪花是以等边三角形三边生成的科赫曲线组成的。每条科赫曲线的长度可以是无限大,是连续而无处可微的曲线。其特点可归纳为:

  • 曲线任何处不可导,即任何地点都是不平滑的
  • 总长度趋向无穷大
  • 曲线上任意两点沿边界路程无穷大
  • 面积有限(由此产生一个匪夷所思的悖论:"无穷大"的边界,包围着有限的面积。)

        是不是很神奇呢?!

Python turtle图形库入门与GESP一级备考指南 Python的turtle图形库是编程初学者接触可视化编程的经典工具,特别适合青少年学习编程逻辑和培养计算思维。turtle库源自Logo语言的绘图概念,通过控制虚拟海龟在屏幕上的移动来生成图形,这种直观的编程方式能有效提升学习动力。在GESP(青少年编程能力等级考试)Python一级中,turtle模块是核心考点,占比约25%,主要考察基础绘图指令和简单图形组合能力。本文详细解析turtle的核心功能,包括环境搭建、坐标系系统、关键绘图指令,并结合GESP一级高频题型,提供实战技巧与性能优化方案,帮助学习 阅读详情

相关推荐

Python绘制科克曲线——让你的画板更加神奇

最后,我们定义完函数以后,只需要新建一个turtle对象(可以理解为画笔),设置一些参数(比如颜色、速度等),然后调用koch_curve函数即可实现科克曲线的绘制。科克曲线也叫科赫雪花或者科赫曲线,是一种分形曲线,具有无限长度,但却只占有有限面积的特点。这个函数的实现方法,就是不断地把整个正三角形分解为边长为原来1/3的小三角形,最后每条线段的终点都是可知的,那么我们就可以通过调用forward函数实现绘画。运行后,你会发现一个神奇的画板,上面绘制了美丽的科克曲线。

带你成为别人眼中的大佬! 563

科赫曲线及其Python实现

从一条给定的线段 AB 开始,设从 A到 B 是线段 AB 的正方向,用运算 Ω 表示折线 ACDEB 的构造过程,线段 AC、CD、DE、EB 均相等,它们的正方向分别是从 A到 C,C 到 D,D 到 E 和 E 到 B。对于连续性,他引入了分析中点集的概念,把曲线看成是无穷个点的集合,按照分析中连续性的定义,应用分析严格化过程中魏尔斯特拉斯所创立的“ε-δ”法则,证明了曲线弧上每一点都连续。在第一步中,科赫给出了曲线构造的基本轮廓和思想,规定了曲线的正方向,同时建立了曲线构造的迭代递归模型。

qq_41626672的博客 4821

FOC项目知识点总结三 | 完全搞懂 Clarke 与 Park 变换(附动图,仿真文件以及详细讲解数学推导过程)

本文目的,最终可以完整推算两种变换 Clarke 变换 首先先看我们需要用到的两种坐标系 1. 自然坐标系 abcabcabc 我们知道,通过三相逆变电路,我们可以画出一个自然坐标系 abcabcabc ,即三相电压的坐标系,通入的电流在这三轴坐标系中变化: 将三个矢量相加合并在一起就如下图所展现: 使用三个坐标轴来表示十分的麻烦与不直观,因为其是非正交的,于是乎我们想要将其转化成使用两个正交的坐标轴来表示,于是乎便有了 Clarke变换。 Clarke 变换的作用: 将基于三轴二维的定子静止坐标系的各

Wilson Huang的博客 3万+

【python代码分享】使用turtle绘制科赫曲线 -完整代码

绘制科赫曲线 程序代码1: import turtle def koch(size, n): if n == 0: turtle.fd(size) else: for angle in [0, 60, -120, 60]: turtle.left(angle) koch(size/3, n-1) def main(): turtle.setup(800,400) turtle.penup()

chirp_CQ的博客 5099

abaqus 根据坐标施加载荷- Analytical Field 载荷映射

在一些类型的分析中,需要将按位置分布的载荷施加到结构上,比如流体分析导出了结构的气动载荷、或者温度载荷,需要将压强分布、温度分布载荷施加到固体上。这种分析可以使用abaqus中的Analytical Field实现。 1 例子 1.1 结构 一个100*100mm的面,面的载荷分布函数为p=(x2+y2)0.5/((20.5)*100) MPa,即(0, 0)的压强为0,(100, 100)的压强为1。 1.2 载荷 载荷函数:p=(x^2+y^2)^0.5/((2^0.5)*100) in exce.

shengyutou的博客 2万+

学习STM32的无人机控制

下面是一个基于STM32的无人机控制的简单示例代码,包括四旋翼的PID控制、遥控器信号解析和电机控制。本示例以STM32F103系列为例,使用Keil C编译器进行开发。

qq_67153941的博客 706

Python-函数递归实现n阶科赫曲线(保姆级解释包听懂)

Python函数递归,画雪花

m0_71202744的博客 2693

基于深度学习的水质预测:多参数监测与预测

首先,我们需要收集水质监测的多参数数据。收集到的数据应包括不同时间点的水质参数值以及相应的水质等级标签,用于训练和评估深度学习模型。同时,数据的质量和数量对于模型的性能也有重要影响,因此在实际应用中需要充分考虑数据的采集和处理过程。总之,基于深度学习的水质预测可以通过收集水质监测的多参数数据并使用适当的深度学习模型进行训练和预测来实现。通过以上的深度学习模型,我们可以利用水质监测的多参数数据进行水质预测。这种基于深度学习的方法可以提高水质预测的准确性和稳定性,为水质监测和环境保护提供有力支持。

web_bug407的博客 1103

(python)绘制科赫曲线以及利用科赫曲线举一反三

环境:硬件: 微型计算机软件: jupyter notebook环境:python 3.8.1介绍:科赫曲线是一种像雪花的几何曲线,所以又称为雪花曲线,它是de Rham曲线的特例。科赫曲线是出现在海里格·冯·科赫的论文中,是分形曲线中的一种。提示:以下是本篇文章正文内容,下面案例可供参考科赫曲线是一种分形曲线,它通过重复迭代的方式构造出一条连续的曲线。科赫曲线由一条线段开始,然后将每个线段分成三个等分,用等边三角形连接分割点。

m0_75117073的博客 4330

分析4-20mA检查电路分析

本文介绍了一种工业领域常用的4-20mA电流信号调理电路,可将标准电流信号转换为适合MCU采集的电压信号。电路包含三个关键模块:首先通过10Ω取样电阻将4-20mA电流转换为0.04-0.2V电压;然后采用同向比例运算放大器KTA333-ST5进行信号放大;最后通过二阶有源低通滤波器滤除工业环境中的高频干扰。文章详细分析了各模块的工作原理和参数设计,并以压力传感器和温度变送器为例说明了实际应用中的参数调整方法。该电路具有抗干扰能力强、精度高等特点,适用于工业压力、温度等模拟量信号的采集处理。

qq_37999850的博客 1329

嵌入式Modbus协议面试题及参考答案

Modbus 协议采用主从模式进行通信,这种模式定义明确,便于在工业环境中实现设备之间的有序数据交互。在主从模式中,存在一个主站(Master)和多个从站(Slave)。主站通常是工业控制系统中的上位机,如 PLC、工控机等,它负责发起通信请求,控制整个通信过程。从站则是各种现场设备,如传感器、执行器等,它们接收主站的请求,并根据请求进行相应的操作,然后将结果返回给主站。主站的主要功能包括:发起数据读取或写入请求、控制通信的时序和流程、处理从站返回的数据。

大模型大数据攻城狮的专栏 2042

Python 与神奇的数学之龙形曲线

龙形曲线是一类自相似碎形曲线的统称,因形似龙的蜿蜒盘曲而得名。

iprobobo的博客 5675

基于BP神经网络PID控制的电机转速控制器设计复现

摘要:本文提出了一种基于BP神经网络PID控制的永磁同步电机转速控制方法,通过MATLAB/Simulink平台实现了算法复现。系统采用三层BP神经网络在线调整PID参数,包含输入层(误差、误差变化率、误差积分)、5节点隐含层和输出层(Kp、Ki、Kd)。仿真结果表明,相比传统PID控制,该方案具有更快的响应速度(上升时间减少约40%)、更小的超调量(降低约60%)和更强的抗干扰能力,在电动汽车电机驱动等复杂工况下表现优异。文中详细给出了PMSM数学模型建立、BP网络设计、权值更新算法及Simulink仿真

max500600的博客 306

科赫雪花绘制- -Python + pyinstaller 打包 生成可执行程序

科赫雪花绘制- -Python + pyinstaller 打包 生成可执行程序 科赫曲线是一种像雪花的几何曲线,所以又称为雪花曲线,它是de Rham曲线的特例。科赫曲线是出现在海里格·冯·科赫的论文中,是分形曲线中的一种。(百度百科) 代码目标:绘制一个由三阶的科赫曲线构成的雪花 cmd命令目标: 1、导入第三方库 pyinstaller 2、打包代码,将其转成可执行文件(同时把自己找的nam...

little_starfish的博客 1886

手把手带你死磕ORBSLAM3源代码(一)目录详解

ORB-SLAM3是一种基于特征点的稀疏实时单目SLAM(Simultaneous Localization and Mapping)系统。它是ORB-SLAM系列模型的第三代版本,用于在无人机、机器人和增强现实等领域中进行实时定位和建图。ORB-SLAM3使用了一种特征点提取和描述算法,称为ORB(Oriented FAST and Rotated BRIEF)。该算法能够提取图像中的稳定特征,并将其用于地图建立和相机定位。

anananajiushiwo的博客 2299

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

python雪花曲线实验报告_探究“雪花”曲线

张志勇美丽的分形是大自然景物的抽象,它无比丰富的细节、绚丽多彩的结构常令我们流连忘返,图1中的科赫(Koch)雪花曲线等给我们以美的遐想.分形在多个领域有着广泛的应用,如物理中的湍流、化学中的高分子链、天文学中的星团分布、地理学中的河流与水系、生物学中的全息现象……下面我们要探究的是美丽的分形背后的数学身影.首先,我们来了解一点分形的科普小知识.提及分形,首先要涉及的是其自相似性,所谓自相似性即是...

weixin_39783156的博客 848

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

5分钟上手Python分形艺术:从曼德博集合到科赫雪花的编程之旅

Python分形艺术是探索数学与编程之美的绝佳途径。本文将带你快速掌握两种经典分形图案——曼德博集合和科赫雪花的生成方法,无需深厚的数学背景,只需基础Python知识即可开启创作之旅。通过分形算法,你将发现简单代码如何创造出无限复杂的图案,体验编程艺术的魅力。 ## 什么是分形艺术? 分形(Fractal)是一种具有自相似性的几何形状,在不同尺度下呈现出相似的结构。这种神奇的特性使得分形图案在

gitblog_00312的博客 1242

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Python海龟绘图——分形之美:从科赫雪花到自然之树的递归艺术

本文通过Python海龟绘图探索分形几何的递归艺术,从科赫雪花到自然之树的生成过程。详细解析了递归算法在分形绘图中的应用,展示了如何用简洁代码创造复杂自然图案,并提供了实用技巧和代码示例,帮助读者理解分形的数学之美与编程实现。

weixin_30315435的博客 450

python的turtle绘图

turtle绘图 今天学到了python的turtle绘图,感觉还蛮好玩的。在知乎、python123上看到很多大佬的绘图,感觉很有意思。也搜到很多turtle绘图的教程。 python自带了一些turtle画图的demo在Command Prompt敲下面的代码就可以打开啦。 python -m turtledemo 粉色小爱心 from turtle import * color('pink...

Valerie的博客 3529

数学有趣地超乎你的想象

少年数学家综合整理说起数学你是拒绝还是喜欢看完这一组,对于数学他的震撼、霸气、美来感受下哇1三角形内角和为180º2多边形外角和为360º(图来源于可乐学习)3怎样将一个正三角形剪拼成...

涛哥聊Python 430

从哆啦A梦到数学函数:解锁Python海龟绘图的10种创意玩法

本文介绍了Python海龟绘图的10种创意玩法,从绘制哆啦A梦到数学函数可视化,展示了turtle库的强大功能。通过详细的代码示例和实用技巧,帮助读者掌握海龟绘图的核心技术,应用于卡通设计、数学教学和艺术创作等多个领域。

lg888的博客 492

Agno 工作流中的历史(History)管理:从对话连续执行到跨轮次上下文感知

Agno 的 `Workflow` 除了支持多步骤编排之外,还提供了一套完整的"工作流历史"机制,让每一步执行都能感知同一会话(session)中此前的多轮运行结果。本篇基于 [cookbook/04_workflows/06_advanced_concepts/history](https://link.gitcode.com/i/0b6ec862b9086309ca73640587269286

gitblog_00041的博客 696

Python turtle绘图模块入门与GESP考试指南

Python的turtle模块是一个强大的图形绘制工具,特别适合编程初学者理解基础概念。它基于Logo语言的设计哲学,通过控制虚拟画笔在二维画布上移动来创建图形。在技术实现上,turtle模块封装了底层绘图指令,提供forward、right等直观命令,将算法逻辑转化为可视化结果。这种可视化编程方式不仅有助于理解坐标系、循环等编程基础,还能培养计算思维。在青少年编程教育领域,turtle是GESP Python一级认证的核心考点,涉及图形绘制、颜色填充等实践技能。通过掌握15个关键API和坐标定位技巧,学习

weixin_30940783的博客 288

Python入门

python入门级学习 话说我两年前大四的时候就想学Python了,那时候电脑里就装了Pycharm、Anaconda、Sublime Text,但是基本上没怎么打开过,入门视频也没看完。现在,这个假期不学点什么简直对不起自己,让我又有机会入门Python啦。我喜欢看视频学习,这里放一些我自己看的入门级教学视频。欢迎大家讨论留言分享。 视频 B站:python教程2019版 6小时完全入门...

Valerie的博客 401

MCEdit 2.0地图编辑器:零基础也能轻松创作的专业级我的世界地形改造工具

MCEdit 2.0是一款专为Minecraft玩家打造的专业级地图编辑工具,它能够帮助玩家轻松实现大规模地形改造、建筑创作和世界编辑。无论是新手玩家还是资深创作者,都能通过这款强大的工具释放无限创造力,打造属于自己的梦幻世界。 ## 🌟 MCEdit 2.0的核心功能与优势 MCEdit 2.0作为一款专业的Minecraft地图编辑器,拥有众多令人惊叹的功能,让地图创作变得前所未有的简单

gitblog_00099的博客 993

Python-科赫雪花(科克曲线)

翻译过来的名字,WHO CARE 定义 设想一个边长为1的等边三角形,取每边中间的三分之一,接上去一个形状完全相似的但边长为其三分之一的三角形,结果是一个六角形。现在取六角形的每个边做同样的变换,即在中间三分之一接上更小的三角形,以此重复,直至无穷。外界的变得原来越细微曲折,形状接近理想化的雪花。它的名字叫科克曲线 首先绘制科克曲线 科克曲线很简单 #科克曲线 import ...

STAR_LORD 2万+
上一篇: Python 之 turtle 库
下一篇: Python 与神奇的数学之龙形曲线
香饽々
博客等级 码龄5年 252粉丝 88原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

香饽々

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值