分形之列维(levy)曲线

levy曲线分形,它是将一条线段不停地分形成两条长度相等且相互垂直的线段,而生成的.关于它的介绍,我在网上没有找到太多信息,只有下面几句,也不知道是不是和它真有关系:

1827年英国植物学家布朗(R.Brown,1773-1858)用显微镜发现微细颗粒在液体中作无规行走,此现象被称为布朗运动。后来科学家对布朗运动进行了多方面的研究,维纳(N.Wiener,1894-1964)等人在此基础上创立随机过程理论。进入80年代,人们以分形的眼光看待布朗运动,并与“列维飞行”(Levy flight)相联系,找到了确定论与随机论的内在联系。

发现莱维(Paul Levy,1886-1971)稳定分布的重要性,并应用于经济学、布朗运动 、星系分布等领域.

levy分形的最后很像一个英文字母C,其核心分形代码如下:

static void FractalC(const Vector3& vStart, const Vector3& vEnd, Vector3* pVertices)
{
    pVertices[0] = vStart;
    pVertices[3] = vEnd;

    pVertices[1].x = (vStart.x + vStart.y + vEnd.x - vEnd.y) / 2;
    pVertices[1].y = (vEnd.x + vEnd.y + vStart.y - vStart.x) / 2;
    pVertices[1].z = 0.0f;

    pVertices[2].x = pVertices[1].x;
    pVertices[2].y = pVertices[1].y;
    pVertices[2].z = 0.0f;
}

下面帖上levy的各级分形图:

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

时间: 2024-11-10 09:06:40

分形之列维(levy)曲线的相关文章

分形之分形龙

拿着一条细长的纸带,把它朝下的一头拿上来,与上面的一头并到一起.用一句简单的话说,就是将纸带对折.接着,把对折后的纸带再对折,又再对折,重复这样的对折几十次……这就生成了分形龙的图形. 上一节讲的是分形之列维(levy)曲线,它是将一条线段不停地分形成两条长度相等且相互垂直的线段,而生成的.分形龙的生成方式与列维曲线相似,也是将线段不停地分形成两条长度相等且相互垂直的线段,不同之处是其对折的方向是一个左一个右,而列维曲线则是始终朝着一边对折. 核心代码: static void FractalD

分形之二叉树(Binary Tree)

上一篇文章讲的是分形之树(Tree),这一篇中将其简化一下,来展示二叉分形树的生长过程. 核心代码: static void FractalBinaryTree(const Vector3& vStart, const Vector3& vEnd, Yreal angle, Yreal branch_c, Vector3* pVertices) { Vector3 vSub = vEnd - vStart; Yreal len = D3DXVec3Length(&vSub); Yr

分形的程序实现

近一段时间一直在研究分形,写了几个分形相关的程序,这是其中一个.程序中里面包含近20种分形图形的生成算法. (1)科赫(Koch)雪花 (2)列维(levy)曲线 (3)龙形曲线(Dragon Curve) (4)C折线 (5)谢尔宾斯基(Sierpinski)三角形 (6)谢尔宾斯基(Sierpinski)地毯 (7)谢尔宾斯基(Sierpinski)四面体 (8)拆分三角形 (9)分形树(Tree) (10)分形二叉树(Binary Tree) (11)希尔伯特-皮亚诺(Hilbert-Pe

分形之C折线

前面讲了列维(levy)曲线,它是将一条线段不停地分形成两条长度相等且相互垂直的线段而生成.还有分形龙也是将一个线段对折成夹角为90度的两个线段.这一节展示的是将线段不停地分形成两条长度相等且夹角不固定的线段而生成图形.这如同将一条线段变成等腰三角形,原线段为等腰三角形的底边,新生成的线段为等腰三角形的腰边.通过设置底角的角度,改变分形图形. 核心代码: static void FractalAngleC(const Vector3& vStart, const Vector3& vEnd

18个分形图形的GIF动画演示

这里提供18个几何线段分形的GIF动画图像.图形颜色是白色,背景色为黑色,使用最基本的黑与白以表现分形图形.对分形几何有兴趣的人可以看下.我在写程序时基本是参考<分形算法与程序设计_Visual C++实现>这本书的光盘代码.几乎每一种分形算法我都写了单独的文章介绍,可以通过链接查看. (1)科赫(Koch)雪花 (2)列维(levy)曲线 (3)龙形曲线(Dragon Curve) (4)C折线 (5)谢尔宾斯基(Sierpinski)三角形 (6)谢尔宾斯基(Sierpinski)地毯 (

分形之可编辑折线

将一条线段变成若干条首尾相连的线段,然后对每一条新生成的线段重复此操作,最终会生成一幅很漂亮的图形.这就是折线的分形图形.之前我发过一篇文章:分形的程序实现,里面实现了近20种分形图形的生成算法.在这些分形算法中,大部分是针对折线的,即将一条线段不停得拆分出多条线段,如:列维(levy)曲线, 海岸线, 科赫(Koch)雪花等.而这篇文章将提供一个可以自由编辑的任意折线分形程序. 软件操作方法如下: 双击FractalLine.exe或FractalLineSP.exe都可以启动程序,其中:一个

HIT1946 希尔伯特分形曲线(dfs)

补第二次期末考的题--发现代码细节还需要加强啊--这样一道题一直犯小错误. 题目链接: http://acm.hit.edu.cn/hoj/problem/view?id=1946 题目描述: 希尔伯特分形曲线 Submitted : 53, Accepted : 16 数学家Hilbert曾发现一种十分奇特的曲线.一般的曲线是没有面积的,但他发现的这条曲线却能充满整个空间.Hilbert曲线是由不断的迭代过程形成的.如下图所示,最原始的曲线称为H1,由H1迭代形成H2,再由H2迭代形成H3..

分形之希尔伯特-皮亚诺(Hilbert-Peano)曲线

1890年,意大利数学家皮亚诺(Peano G)发明能填满一个正方形的曲线,叫做皮亚诺曲线.后来,由希尔伯特作出了这条曲线,又名希尔伯特曲线.Hilbert-Peano曲线是一种分形图形,它可以画得无限复杂.它的初始图元是正方形,在迭代生成的过程中,不断细化出小的正方形,图中的线段其实是用于连接各正方形的连线.它的特点是蜿蜒曲折.一气呵成,能经过平面上某一正方形区域内所有的点.希尔伯特曲线是一种奇妙的曲线,只要恰当选择函数,画出一条连续的参数曲线,当参数t在0,1区间取值时,曲线将遍历单位正方形

Koch曲线

Koch曲线是一种分形,完整的Koch曲线像雪花,维基百科上记录Koch曲线最早出现在海里格·冯·科赫的论文<关于一条连续而无切线,可由初等几何构作的曲线>中,它的定义如下,给定线段AB,科赫曲线可以由以下步骤生成: 将线段分成三等份(AC,CD,DB) 以CD为底,向外(内外随意)画一个等边三角形DMC 将线段CD移去 分别对AC,CM,MD,DB重复1~3 完整的Koch雪花是由一个等边三角形分别按照以上步骤得到的分形曲线. 一些关于Koch曲线的介绍: http://en.wikiped