分形理论是当今世界十分风靡和活跃的新理论、新学科。分形的概念是美籍数学家曼德布罗特(B.B.Mandelbort)首先提出的。1967年他在美国权威的《科学》杂志上发表了题为《英国的海岸线有多长?》的著名论文。海岸线作为曲线,其特征是极不规则、极不光滑的,呈现极其蜿蜒复杂的变化。我们不能从形状...
分类:
其他好文 时间:
2014-10-18 11:04:53
阅读次数:
409
与上一篇文章分形之正方形折线相似,闵可夫斯基分形也是分形出正方体,不同之处是它分出了两个正方体。核心代码:static void FractalMinkowski(const Vector3& vStart, const Vector3& vEnd, Vector3* pVertices){ ...
分类:
其他好文 时间:
2014-10-18 07:31:32
阅读次数:
222
这种分形图形是将一条线段拆分成五条线段,其中第一条线段使用原线段的前三分之一,最后一条线段使用原线段的后三分之一。中间三条线段围成一个开口的正方形。核心代码:static void FractalSquare(const Vector3& vStart, const Vector3& vEnd,.....
分类:
其他好文 时间:
2014-10-17 18:35:17
阅读次数:
231
皇冠分形曲线核心代码:static void FractalCrown(const Vector3& vStart, const Vector3& vEnd, Vector3* pVertices){ Vector3 vSub = vEnd - vStart; Yreal len = D...
分类:
其他好文 时间:
2014-10-17 14:58:38
阅读次数:
205
1890年,意大利数学家皮亚诺(Peano G)发明能填满一个正方形的曲线,叫做皮亚诺曲线。后来,由希尔伯特作出了这条曲线,又名希尔伯特曲线。Hilbert-Peano曲线是一种分形图形,它可以画得无限复杂。它的初始图元是正方形,在迭代生成的过程中,不断细化出小的正方形,图中的线段其实是用于连...
分类:
其他好文 时间:
2014-10-17 08:15:54
阅读次数:
225
上一篇文章讲的是分形之树(Tree),这一篇中将其简化一下,来展示二叉分形树的生长过程。核心代码:static void FractalBinaryTree(const Vector3& vStart, const Vector3& vEnd, Yreal angle, Yreal branch_c...
分类:
其他好文 时间:
2014-10-16 09:43:02
阅读次数:
397
Java Chaos Game噪声游戏两则
[简介]
最近一直在读《深奥的简洁》,里面有一章介绍了几种使用噪声产生分形图的方法,感觉很有意思,于是尝试使用计算机模拟了一下,效果还不错(噪声法比传统迭代法在编程上好实现一些,后来发现这类算法还不少,搜索chaos game可以找到更多)。
本篇程序源文件及其依赖jar包可以到这里GitHub下载。
[Sierpinski三角形的噪声产生法]...
分类:
编程语言 时间:
2014-10-15 18:03:31
阅读次数:
274
似乎每一个有关分形的教程都要讲到分形树,大概是因为树是生活中最常见的分形实物吧。这一节将展示下如何一步一步地生长出一棵树来。其实现算法不难,就是在每一次生长迭代中,使线段生长出几条新的线段来。核心代码:static void FractalTree(const Vector3& vStart,...
分类:
其他好文 时间:
2014-10-14 16:21:35
阅读次数:
323
前面讲了谢尔宾斯基三角形,它是不停地将一个三角形拆分三个与之相似的三角形。这一节给大家展示的图形是将一个等腰钝角三角形不停地拆分两个与之相似的三角形。核心代码:static void SplitTriangle(const Vector3& v1, const Vector3& v2, con...
分类:
其他好文 时间:
2014-10-13 08:25:19
阅读次数:
413
前面讲了谢尔宾斯基三角形,这一节的将对二维三角形扩展到三维,变成四面体.即将一个正四面体不停地拆分,每个正四面体可以拆分成四个小号的正四面体.由二维转变到三维实现起来麻烦了许多。三维的谢尔宾斯基四面体看上去比谢尔宾斯基三角形更像坟冢。核心代码:static void SierpinskiTetr.....
分类:
其他好文 时间:
2014-10-12 16:00:58
阅读次数:
375