龙曲线的构造如果仅仅通过文字描述的话,可能会略显抽象,这里有一个可视化的视频,讲述整个龙曲线的从无到有,从简单到复杂的构造过程,【分形几何】《侏罗纪公园》原著里神奇的“龙曲线”-原创视频-爱奇艺。

1. 构造过程

  • 一条很长的直线
  • (1)向左折叠一次
  • (2)再向左折叠一次

2. 程序构造:龙曲线字符串

龙曲线字符串由:X、Y、F、+、- 组成;

  • F:向前方移动一格并画线;
  • +:向左旋转 90°(向左对折)
  • -:向右旋转 90°(向右对折)
  • X、Y:忽略(用于拓展)

画出第 0 代龙曲线的字符串是 FX(可以想象为一条水平的直线),从下一代开始,按照如下(拓展)方式利用前一代字符串进行字符替换,从而获得当前一代的龙曲线字符串。

  • X ⇒ X+YF
  • Y ⇒ FX-Y

既然物理上对应着对折,因此对+/-左右的每一项都是一分为 2;

  • 第一代:FX+YF
  • 第二代:FX+YF+FX-YF

3. 程序实现

void dragonCurve(const string& seed, int N) {if (N == 0) {cout << seed;return;}for (int i = 0; i < seed.size(); ++i) {if (seed[i] == 'X')dragonCurve("X+YF", N-1);else if (seed[i] == 'Y') dragonCurve("FX-Y", N-1);else cout << seed[i];}
}

分形 —— 龙曲线的构造相关推荐

  1. 龙曲线 [分形] 从 DFS暴力 到 规律 实现

    龙曲线 龙曲线是以简单的数学规则画出一种曲线,它具有以下形态.曲线从一个简单的线段起始,按照一定规则变换此线段完成整个曲线.每形成一次变换称为"完成了一次变换代",而每完成一代,曲 ...

  2. python绘制分形图基础_Python 绘制分形图(曼德勃罗集、分形树叶、科赫曲线、分形龙、谢尔宾斯基三角等)附代码...

    1. 曼德勃罗集 import numpy as np import pylab as pl import time from matplotlib import cm def iter_point( ...

  3. python分形几何_使用 Python 绘制分形: Koch 曲线、Julia 集、Mandelbrot 集

    目录 1. Koch曲线 瑞典数学家Helge von Koch,在1904年发表的"从初等几何构造的一条没有切线的连续曲线"的论文中提出Korch曲线.它的描述如下:指定一条线段 ...

  4. 走近分形与混沌(part1)--分形是趋于无穷的极限,是画不出来的

    读书笔记 学习书目:<蝴蝶效应之谜:走近分形与混沌>-张天蓉; 文章目录 分形龙 科赫曲线 分形龙 我们做一个小实验,把一个纸带收尾对折,对折,再对折-重复十几次.然后在松开纸带,得到的是 ...

  5. 分形之龙形曲线(Dragon Curve)

    龙形曲线(Dragon Curve)又叫分形龙,是一种自相似碎形曲线的统称,因形似龙的蜿蜒盘曲而得名. 一种简单的生成分形龙的方式是:拿着一条细长的纸带,把它朝下的一头拿上来,与上面的一头并到一起.用 ...

  6. 走近分形与混沌(part12)--随机过程与混沌

    学习笔记 学习书目:<蝴蝶效应之谜:走近分形与混沌 >-张天蓉: 随机过程与混沌 我们所说的混沌现象的确并不完全等同于随机,但是和随机过程有关系,它是随机过程和决定规律的结合.洛伦茨方程产 ...

  7. 走近分形与混沌(part3)-引领任何科学发展的,从来都是伟大的思想而不是繁琐的公式

    学习笔记 学习书目:<蝴蝶效应之谜:走近分形与混沌>-张天蓉; 大自然中的分形 归纳一下前几个Blog对分形的叙述,我们知道分形有如下几个特征: 分形具有自相似性.分形自身可以看成是由许多 ...

  8. 走近分形与混沌(part2)-豪斯多夫维数

    读书笔记 学习书目:<蝴蝶效应之谜:走近分形与混沌>-张天蓉; 分数维 在经典几何中,是用拓扑的方法来定义维数的,也就是说,空间的维数等于决定空间中任何一点位置所需要变量的数目.例如,所谓 ...

  9. 皮亚诺曲线java,多维空间点索引算法概述

    解决多维空间点索引需要解决2个问题,第一,如何把多维降为低维或者一维?第二,一维的曲线如何分形? 填充曲线(Space-filling curve) 在数学分析中,有这样一个难题:能否用一条无限长的线 ...

最新文章

  1. 利用frp进行内网穿透
  2. 学习一下国际巨头互联网公司的一些运营与管理思路!
  3. 最全深度学习训练过程可视化工具(附github源码)
  4. 有史以来最精彩的自问自答:OpenAI 转方块的机械手
  5. 详谈Spring定义
  6. MacBook(m1)配置Python注意事项(自用,持续更新)
  7. Oracle-Oracle数据库结构
  8. python 四足机器人运动学_撸了个四足机器人
  9. 【字符串】【KMP模板--最小循环节总结】
  10. win10最常用dos命令以及win+R即可运行的命令
  11. Android基础入门教程——7.6.3 基于TCP协议的Socket通信(2)
  12. C# xml转json(xml、json相互转换)
  13. USBKEY用户认证平台的研究和实现
  14. 如何防止mysql删库_数据库如何防止程序员删库到跑路
  15. 手机网页版JS压缩上传图片--base64位 兼容IOS和安卓
  16. 前端点击图片将跳出显示框显示图片
  17. python 绘图如何画螺旋圈_如何画出python螺旋线
  18. 基本磁盘与动态磁盘 RAID磁盘冗余阵列区分(简单了解各种卷组)
  19. oracle 倒库详细步骤,超详细的倒车入库步骤
  20. 公司的电脑监控软件一般能够监控到什么程度

热门文章

  1. wps office word 插入图片显示异常 只显示一个长条
  2. Response.WriteFile 无法下载大文件解决方法
  3. python字典进行大写转化_python 字符串转大写_Python字符串大写()
  4. 04.TFT_RGB接口时序分析
  5. 去掉图片按钮外围虚线
  6. 为什么创业的人都爱跑步
  7. 轴心时代的三大东方圣人老子、孔子和释迦牟尼
  8. Create BD link
  9. 香港中文大学9(深圳)医学院李丛磊组招收博后/科研助理/博士生
  10. 爬虫----爬虫基本原理