到无穷大和更远,用分形更好

news2024/12/24 20:41:34

文章目录

  • 一、说明
  • 二、分形到底是什么?
  • 三、更多更深刻的
  • 四、引进无穷小会产生什么样的怪事?
  • 五、希尔伯特曲线
  • 六、还有什么有趣的要补充的吗?

一、说明

​​​​​​​数学领域有太多有趣的领域,领域我特别感兴趣。这是一个奇妙的无限、自我复制的分形世界。更有趣的是分形事物总能在大自然中发现对应物,这对渲染自然界和电脑作图有更大发挥。分形维度不是整数维,本文对此稍加介绍。

二、分形到底是什么?

分形是一个在任何尺度上看起来或多或少相同的对象。这意味着无论您如何放大分形,细节看起来几乎相同。

您能给我们举个例子吗?我知道这个问题即将到来,所以我画了一些!这个叫做谢尔宾斯基三角形…

在这里插入图片描述
这个叫做龙曲线…
在这里插入图片描述
而这个曲线叫做科赫曲线…
在这里插入图片描述
我要指出的是,这些都是近似值。实际上,在serviettes上绘制分形是相当棘手的,信不信由你,我无法绘制到无穷小的尺度!所有这些分形都是所谓的自相似分形,这意味着它们的细节在放大时完全相同。这意味着您可以在其内部找到分形的精确副本。

三、更多更深刻的

我喜欢分形的一件事是它们非常直观。一些分形模式(如上面的例子)非常适合涂鸦,因为它们可以通过遵循迭代过程来构造。

一般来说,自相似分形可以从一些“基块”构造,方法是将基块的副本排列在特定的模式中,然后缩小该模式以用作新的“基块”并重复。(该过程也可以在不收缩的情况下完成,这更容易绘制,但占用的空间越来越大)。

以下是以这种方式绘制的上述曲线的几个迭代:
在这里插入图片描述
当然,任何这样的构造在你用完空间之前只能进行这么多次迭代,所以物理表示只是真实分形的近似值。然而,如果我们把数学概念一直带到无穷小,事情就会开始变得有点奇怪。

四、引进无穷小会产生什么样的怪事?

每当无穷大涉足数学领域时,你都可以期待有一些东西与你的直觉不完全匹配。如果我告诉你分形不符合我们通常的维度概念呢?

对于传统形状,我们可以通过使用一定的测量单位测量物体来考虑尺寸,然后使用较小的测量单位重新测量,看看您还得到了多少件。

例如,在这里,我画了一条线、一个正方形和一个边长为 1 个“单位”的立方体,然后使用大小为 1/3 的单位重新测量它们。对于直线,现在有 3 = 3¹ 个,对于正方形,有 9 = 3² 个,对于立方体,有 27 = 3³ 个。

在这里插入图片描述
一般来说,如果我们使用大小的 1/n 倍的度量单位并得到 N 个,那么物体的维度 D 满足 N = n^D.(所以直线有 n¹ 个块,正方形有 n² 个块,立方体有 n³ 个块)。重新排列,我们得到 D = ln(N)/ln(n)。目前为止,一切都好。

现在让我们来看看科赫曲线。你认为科赫曲线是一维的,这是可以原谅的——毕竟,我们之前使用的迭代结构的每一步都只是将直线放在一起。但这就是无穷大介入并动摇我们的直觉的地方:当我们将这个过程迭代到无穷小时,实际上没有任何“直线碎片”留在任何地方。相反,回想一下,在构造的每一步中,我们取了 4 个大小为 1/3 的碎片,并重复此操作到无穷小。因此,科赫曲线的分形维数为 D = ln(4)/ln(3) ≈1.262——这不是一个整数!这表明科赫分形在某种程度上不仅仅是一条线,它的无限性有点“推出”到多个维度。

同样,当我们构建谢尔宾斯基三角形时,我们使用了 3 条线的副本,这些线的大小是 1/2。因此,对于谢尔宾斯基三角形,我们有 D = ln(3)/ln(2) ≈1.585。这个数字比科赫曲线大,我们可以直观地看到这种差异——谢尔宾斯基三角形比科赫曲线填充了更多的空间。

五、希尔伯特曲线

现在让我向你展示另一种类型的分形曲线,称为希尔伯特曲线,它是由数学家大卫希尔伯特在1891年发现的。其构建的前几个步骤如下所示:
在这里插入图片描述
你可能会注意到,这条曲线似乎以这样一种方式蜿蜒曲折,填满了大量的空间——甚至比谢尔宾斯基三角形还要多,后者有明显的孔洞区域。

那么,希尔伯特曲线的分形维数是多少?

在每个步骤中,我们都使用 4 个大小为 1/2 的部件(以及一点额外的线来连接这些部件)。因此,我们有 D = ln(4)/ln(2) = 2。也就是说,当被拿到无穷小时,希尔伯特曲线实际上是二维的,尽管它是由直线碎片构成的!事实上,当分形被取到无穷小时,它与实心正方形是无法区分的,像这样的曲线被称为空间填充曲线。

我们的朋友龙曲线也是一条空间填充曲线,尽管它填充空间的方式不如希尔伯特曲线的整齐正方形那么直接。再一次,我们可以通过查看 Dragon 曲线的分形维数来看到这一点。在每个步骤中,我们使用 2 个大小为 1/√2 的碎片(或者,每第二步使用 4 个大小为 1/2 的碎片),因此我们得到 D = ln(2)/ln(√2) = 2。

为什么你认为分形如此重要?
我不认为它们本身是“重要的”,但有许多自然发生的结构具有类似分形的性质。当然,当你达到原子尺度时,物理世界中的任何事物的细节都会受到限制(这是一件有趣的事情,向你展示了我的意思)。因此,它们只是真正的数学分形的近似值。

其中最明显的是雪花,它们具有分形状的晶体结构。

雷击是另一种自然现象,当闪电从云层中展开,寻找与地面的最佳接触点时,它通常表现出分形性质。这是我看过的最好的慢动作视频之一,它展示了闪电分形的美感。

还有营养丰富的分形!Romanesco 西兰花是可食用(和健康)分形的一个很好的例子。

在这里插入图片描述

亚当在左边画了分形西兰花,所以我们认为找到谷歌的版本可能也会有所帮助!

六、还有什么有趣的要补充的吗?

是的,实际上。

之前我谈到了一种生成自相似分形的迭代方法。您可能还记得,我们通过从一条直线开始,将上一次迭代的两个副本彼此成直角放置来构建 Dragon 曲线。事实证明,如果您反复将一张纸对折(沿同一方向折叠),然后展开它,使每次折叠都是直角,这正是您得到的!
在这里插入图片描述
这看起来似乎就是一点点构图,画出它们,我们已经搞得一团糟。到处都是钢笔、餐具和纸屑!然而渲染一种自然景观,比如下图:
在这里插入图片描述
这就成了电脑构图的另一层境界,总之,分型几何是一个优质资源。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1717524.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【PostgreSQL17新特性之-冗余IS [NOT] NULL限定符的处理优化】

在执行一个带有IS NOT NULL或者NOT NULL的SQL的时候,通常会对表的每一行,都会进行检查以确保列为空/不为空,这是符合常理的。 但是如果本身这个列上有非空(NOT NULL)约束,再次检查就会浪费资源。甚至有时候…

经验分享:如何搭建一个有效的知识库管理系统

打开知乎,发现很多朋友在问如何搭建一个有效的知识库管理系统,所以今天LookLook同学就来跟大家分享一下我是怎么搭建一个既实用又高效的知识库管理系统的。 一、明确需求,定位清晰 首先,你得想清楚你要搭建的知识库管理系统是用来…

时钟、复位与上电初始化

目录 1. 时钟2. 复位2.1. 异步复位 同步释放2.2. Xilinx FPGA复位设计基于PLL锁定(locked)复位设计 3. 上电初始化 1. 时钟 2. 复位 FPGA中复位设计总结 深入理解复位—同步复位,异步复位,异步复位同步释放(含多时钟域&#xff0…

element table表格行列合并span-method,根据数据动态行列合并

表格行列合并需要用到 table的方法 span-method 根据数据来进行动态的行列合并&#xff0c;实例如下&#xff1a; <el-table:data"tableData":span-method"objectSpanMethod" style"width: 100%"><el-table-columnprop"key"l…

【python】OpenCV—Color Detection

学习来自 如何使用 OpenCV Python 检测颜色 import cv2 import numpy as npdef red_hsv(img, saveFalse):lower_hsv1 np.array([0, 175, 20])higher_hsv1 np.array([10, 255, 255])lower_hsv2 np.array([170, 175, 20])higer_hsv2 np.array([10, 255, 255])mask1 cv2.inR…

基于STM32的轻量级Web服务器设计

文章目录 一、前言1.1 开发背景1.2 实现的功能1.3 硬件模块组成1.4 ENC28J60网卡介绍1.5 UIP协议栈【1】目标与特点【2】核心组件【3】应用与优势 1.6 添加UIP协议栈实现创建WEB服务器步骤1.7 ENC28J60添加UIP协议栈实现创建WEB客户端1.8 ENC28J60移植UIP协议并编写服务器测试示…

[代码复现]Self-Attentive Sequential Recommendation(ing)

参考代码&#xff1a;SASRec.pytorch 可参考资料&#xff1a;SASRec代码解析 前言&#xff1a;文中有疑问的地方用?表示了。可以通过ctrlF搜索’?。 环境 conda create -n SASRec python3.9 pip install torch torchvision因为我是mac运行的&#xff0c;所以device是mps 下面…

npm install pubsub-js报错的解决汇总

我在练习谷粒商城P83时&#xff0c;选择分类时触发向后端请求选择分类catId绑定的品牌数据&#xff0c;发现前端控制台报错&#xff1a; "PubSub is not definded",找不到pubsub。 因为缺少pubsub包&#xff0c;所以开始安装此包。 于是在网上一顿搜索猛如虎&…

C# :IQueryable IEnumerable

1. IEnumerable namespace System.Collections: public interface IEnumerable {public IEnumerator GetEnumerator (); }public interface IEnumerator {pubilc object Current { get; }public bool MoveNext ();public void Reset (); }IEnumerable 只有一个方法 GetEnumera…

django使用fetch上传文件

在上一篇文章中&#xff0c;我包装了fetch方法&#xff0c;使其携带cookie。但是之前fetch传递的是json数据&#xff0c;现在有了一个上传文件的需求&#xff0c;因此需要进行修改&#xff1a; const sendRequest (url, method, data) > {const csrftoken Cookies.get(cs…

C++ | Leetcode C++题解之第119题杨辉三角II

题目&#xff1a; 题解&#xff1a; class Solution { public:vector<int> getRow(int rowIndex) {vector<int> row(rowIndex 1);row[0] 1;for (int i 1; i < rowIndex; i) {row[i] 1LL * row[i - 1] * (rowIndex - i 1) / i;}return row;} };

HTML动态响应2-Servlet+Ajax实现HTTP前后台交互方式

作者:私语茶馆 前言 其他涉及到的参考章节: HTML动态响应1—Ajax动态处理服务端响应-CSDN博客 Web应用JSON解析—FastJson1.2.83/Tomcat/IDEA解析案例-CSDN博客 HTML拆分与共享方式——多HTML组合技术-CSDN博客 1.场景: WEb项目经常需要前后端交互数据,并动态修改HTML页…

洛谷 P1194 买礼物

题目来源于&#xff1a;洛谷 题目本质&#xff1a;图论生成树 代码如下&#xff1a; #include<bits/stdc.h> using namespace std; const int N10005; const int M250005; int n,m; int cnt,flag,px,py; int ans0; //ans表示最小花费的钱数 int f[N]; struct Edge{in…

list~模拟实现

目录 list的介绍及使用 list的底层结构 节点类的实现 list的实现 构造函数 拷贝构造 方法一&#xff1a;方法二&#xff1a; 析构函数 赋值重载 insert / erase push_/pop_(尾插/尾删/头插/头删) begin和end&#xff08;在已建立迭代器的基础上&#xff09; 迭代…

Windows【工具 06】mklink创建符号链接和硬链接(实现文件夹不同磁盘存储)

mklink创建符号链接和硬链接 1.创建符号链接1.1 目录符号链接1.2 文件符号链接 2.创建硬链接3.区别3.1 符号链接&#xff08;Symbolic Link&#xff09;3.2 硬链接&#xff08;Hard Link&#xff09; mklink是Windows中用于创建符号链接&#xff08;symbolic links&#xff09;…

数据库管理哪家强?Devart VS Navicat 360°全方位对比解析

今天我们向大家推荐的是两个开发环节的主流数据库管理品牌&#xff0c;那么你知道这两款数据库管理软件品牌与 数据库引擎配套的管理软件有什么区别吗&#xff1f;小编这就360全方位为您解答&#xff1a; ★ 品牌介绍 Devart&#xff1a;拥有超过20年的经验&#xff0c;利用最…

docker目录挂载失败:Check if the specified host path exists and is the expected type

docker目录挂载失败&#xff1a;Check if the specified host path exists and is the expected type docker目录挂载命令&#xff0c;其目的是为了达到修改linux上的文件同步到容器上&#xff0c;从而实现修改容器的配置文件。 在docker目录挂载或启动容器时报错&#xff0c…

若依前后端分离Spring Security新增手机号登录

备忘贴 转自&#xff1a;【若依RuoYi短信验证码登录】汇总_数据库_z_xiao_qiang-RuoYi 若依 配置Security: 按照Security的流程图可知&#xff0c;实现多种方式登录&#xff0c;只需要重写三个主要的组件&#xff0c;第一个用户认证处理过滤器&#xff0c;第二个用户认证tok…

【Git 版本管理】合并 + 变更,看懂Git

看懂 Git 合并操作分离 HEAD分离 HEAD 测试 相对引用(^ || ~)操作符 ^相对引用 ^ 测试操作符 ~相对引用 ~ 测试 撤销变更Git ResetGit Revert撤销变更 测试 整理提交记录Git Cherry-pick测试 交互式 rebase交互式 rebase 测试 合并操作 关键字&#xff1a;commit、branch、merg…

自媒体必用的50 个最佳 ChatGPT 社交媒体帖子提示prompt通用模板教程

在这个信息爆炸的时代&#xff0c;社交媒体已经成为我们生活中不可或缺的一部分。无论是品牌宣传、个人展示&#xff0c;还是日常交流&#xff0c;我们都离不开它。然而&#xff0c;要在众多信息中脱颖而出&#xff0c;吸引大家的关注并不容易。这时候&#xff0c;ChatGPT这样的…