龙形曲线(Dragon Curve)又叫分形龙,是一种自相似碎形曲线的统称,因形似龙的蜿蜒盘曲而得名。

一种简单的生成分形龙的方式是:拿着一条细长的纸带,把它朝下的一头拿上来,与上面的一头并到一起。用一句简单的话说,就是将纸带对折。接着,把对折后的纸带再对折,又再对折,重复这样的对折几十次……这就生成了分形龙的图形.

上一节讲的是分形之列维(levy)曲线,它是将一条线段不停地分形成两条长度相等且相互垂直的线段,而生成的.分形龙的生成方式与列维曲线相似,也是将线段不停地分形成两条长度相等且相互垂直的线段,不同之处是其对折的方向是一个左一个右,而列维曲线则是始终朝着一边对折.其核心代码如下:

static void FractalDragon(const Vector3& vStart, const Vector3& vEnd, Vector3* pVertices, bool left)
{Vector3 vSub = vEnd - vStart;pVertices[0] = vStart;pVertices[2] = vEnd;Yreal alfa = atan2f(vSub.y, vSub.x);if (left){alfa += YD_REAL_PI/4;}else{alfa -= YD_REAL_PI/4;}Yreal l = D3DXVec3Length(&vSub)/YD_REAL_SQRT_2;pVertices[1].x = vStart.x + cosf(alfa)*l;pVertices[1].y = vStart.y + sinf(alfa)*l;pVertices[1].z = 0.0f;
}

这是个3D程序,鼠标右键的拖动可以改变视角.

参考:http://blog.sciencenet.cn/blog-677221-601957.html

软件下载地址:http://files.cnblogs.com/WhyEngine/Fractal.7z

转载于:https://www.cnblogs.com/WhyEngine/p/4013245.html

分形之龙形曲线(Dragon Curve)相关推荐

  1. 用 Python 绘制龙形曲线

    本文将学习什么是龙形曲线,如何生成龙形曲线,以及如何在Python中创建龙形曲线. 什么是龙形曲线? 龙形曲线是一个分形,在数学中,分形是一个术语,用来描述在任意小的尺度上包含详细结构的几何形状.许多 ...

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

    龙形曲线(Dragon Curve),又叫分形龙,是一类自相似碎形曲线的统称,因形似龙的蜿蜒盘曲而得名. 如果您玩过折纸游戏,可以如下种简单的方式生成分形龙:将一条细长的纸带对折,然后将对折后的纸带再 ...

  3. 用Mathematica生成一系列具有类似分形特征的曲线

    来源 Two-dimensional L-systems 此外,可以参考Stan Wagon的: Mathematica in Action: Problem solving through visu ...

  4. python 龙型图(Dragon Curve)

    python 龙型图(Dragon Curve) 代码 用turtle结合递归实现数学小游戏龙型图 #用turtle绘制龙形图 import turtle#绘制龙形图的函数 def Dragon(n, ...

  5. 基于USEARCH或QIIME绘制Alpha多样性稀释曲线(rarefraction curve)

    关于测试数据共享文件声明 百度云是一种非常方便的文件共享方式,但是有时会出现文件无法通过审核,导致大家访问失败?之前团队分享视频(百度管片最严,你懂的,上周六的纪录片将扩展名mkv修改为jpg才通过审 ...

  6. Alpha多样性稀释曲线rarefraction curve还不会画吗?快看此文

    关于测试数据共享文件声明 百度云是一种非常方便的文件共享方式,但是有时会出现文件无法通过审核,导致大家访问失败?之前团队分享视频(百度管片最严,你懂的,上周六的纪录片将扩展名mkv修改为jpg才通过审 ...

  7. 临床模型评价:C指数(C-Index)、校正曲线(Calibration plot)、决策分析曲线(Decision Curve Analysis, DCA)、NRI指数

    临床模型评价:C指数(C-Index).校正曲线(Calibration plot).决策分析曲线(Decision Curve Analysis, DCA).NRI指数 目录

  8. 校准曲线(calibration curve)是什么?如何绘制校准曲线(calibration curve)?如何通过过校准曲线进行分析?什么是高估?什么是低估?

    校准曲线(calibration curve)是什么? 如何绘制校准曲线(calibration curve)? 如何通过过校准曲线进行分析? 什么是高估? 什么是低估? 注意:横纵坐标的差异,但是本 ...

  9. js绘制的漂亮玫瑰曲线rose curve

    js绘制的漂亮玫瑰曲线rose curve,在数学上 玫瑰 或 罗多纳 曲线 是用极坐标绘制的正弦曲线.基本极性方程是 r = a sin(kθ) 这些曲线是由意大利数学家命名的 Guido Gran ...

最新文章

  1. 01_字符串处理-----02_标准化
  2. IE二级链接无法打开
  3. 建立ARM交叉编译环境 (arm-none-linux-gnueabi-gcc with EABI)
  4. 【转】更改远程桌面默认端口3389及删除远程桌面连接历史记录
  5. ajax eval html,Ajax eval的应用示例
  6. Bilateral Filters(双边滤波算法)原理及实现
  7. Fish for mac安装 fish+on my fish ---(powerline主题)美化
  8. 财务系统 定制开发案例
  9. android 图标居中,文字和图标在部分安卓(小米、魅族)居中对其问题?
  10. java中rtsp转m3u8_直播源格式转换教程——rtmp/rtsp/http/m3u8!!
  11. mysql 修改字段名 sql,MySQL中使用SQL语句对字段进行重命名
  12. 数学基础知识总结 —— 12. 求极限的重要工具「洛必达法则」
  13. VSU(虚拟交换单元)组网提升网络可用性
  14. 天翼云服务器搭建网站必须要知道的血泪史!
  15. Firefox七种武器之firebug
  16. Html5制作工具对比
  17. SQL语言增、删、改、查功能练习
  18. Python爬取手机APP
  19. 微信小程序登录与跳转到首页
  20. 画一幅表现压力的抽象画,我是这样画的

热门文章

  1. CMU 11642 Search Engines - 大纲梳理
  2. Deep Learning Blogs
  3. 改变静态文本notify 属性_CocosCreator脚本属性个性化定制——下拉列表属性、滑动条属性...
  4. JZOJ 5257. 小X的佛光
  5. JZOJ 5163. 【NOIP2017模拟6.25】PS的烦恼
  6. ast抽象语法树_新抽象语法树(AST)给 PHP7 带来的变化
  7. linux为什么用tar压缩,linux下tar压缩和解压命令用法详解
  8. 关联规则挖掘算法_数据挖掘 | 关联规则分析
  9. 启发式算法简谈(一)
  10. 对数学本质特征的若干认识