网站首页 > 博客文章 正文
方法四 使用with等函数重写迭代/递归,直接绘制
使用递归函数cantorLine生成康托尔集的线段集合,通过调整递归深度n控制图形的精细度,然后直接使用Graphics函数绘制线段:
这个方法,本质上还是迭代/递归方法,只不过这里使用With函数重写了。
方法五: 使用Region功能
函数Region是Mathematica的一个内置函数,可将函数自变量所表示的区域绘制出来,比如:
这里,我们利用这个函数,可以将康托尔集合所表示的区域直接绘制出来【有限深度的康托尔集合】。
方法六:使用 FixedPoint 实现
函数FixedPointy也是Mathematica的内置函数,用来返回函数自变量表达式的不动点,也可以是有限步的不动点。在这里,可以用这个函数来绘制康托尔集合,本质上是因为深度为n的康托尔集,正好是康托尔替代映射的n次符合的不动点。
cantorFixedPoint[n_] :=
FixedPoint[# /.
Line[{{x1_, y_}, {x2_,
y_}}] :> {Line[{{x1, y + 0.1}, {x1 + (x2 - x1)/3, y + 0.1}}],
Line[{{x2 - (x2 - x1)/3, y + 0.1}, {x2, y + 0.1}}]} &,
Line[{{0, 0}, {1, 0}}], n (*明确最多迭代n次*)];
方法七: 图形迭代法
本质上和使用FixedPoint函数是一样的,只不过要用函数Flatten和Nest组合起来,功能上和FixedPoint函数是一样的。
方法八:使用概率方法(蒙特卡洛)
方法九: 随机概率点云法
方法十:使用动画展示无限迭代过程 (ListAnimate)
接下来,我们使用动画来展示康托尔集的无限迭代过程:
这个方法的主要思路:(1)使用Table生成一系列帧;(2)每个帧展示一个迭代步骤;(3)使用ListAnimate创建可控制的动画。
方法十一:动态交互式康托尔 (Manipulate)
方法十二:使用自定义图形元素来增强康托尔集的可视化效果
这个方法的主要步骤如下:(1)使用cantor函数生成康托尔集的线段集合;(2)每次递归时将线段向下偏移固定距离,形成分层效果;(3)使用Manipulate创建交互式演示,可以调整递归深度k。
另外,也可以通过调整偏移量和线段长度,可以创建不同风格的康托尔集可视化效果。
方法十三:颜色分层增强
方法十四:同时使用颜色和高度增强可视化效果
方法十五:使用颜色和粗细等对比来增加对比效果
添加图片注释,不超过 140 字(可选)
代码:
参考链接:Advanced方法。
猜你喜欢
- 2025-05-16 17本容易发的数学类sci期刊!十投九中!
- 2025-05-16 素数分布的解析理论:π(x)、Li(x)和J(x)的严格数学框架
- 2025-05-16 解析式大赛的获奖作品代码和公式公布啦!
- 2025-05-16 7个月,连发4篇顶刊文章!上海数学中心厉害了
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)