LS文法与Julia逃逸时间算法改进

合集下载

旋转对称加速算法绘制Mandelbrot集和Julia集

旋转对称加速算法绘制Mandelbrot集和Julia集

s ta d J s t r d a c d e n e e a v n e .T i ag rt m e u e h i fd a i g n o sr cs a lt f e u i l f n a — we h s lo h r d c s te t i me o r w n ,a d c n tu t o a t u , a ts ob f
s mme r y t y,b s d o h s a e tme a g rt m ,s e i c l o ai n s mme r c ee ai e a g r h ame tM a e n t e e c p i l oi h p cf al r t t y i y o t a c lr t lo t m i d a y v i
冯 玲 张桂 兰 一
FENG n Lig ZHAN G Gui—l n —a
墓 驻 过大 计 机 实 4用Mn lo 和Ji 不同 旋 对 性, 传统 逸 算法 基 麟萌 通 量 算 数学 验, i ' a er 集 u 集 的 转 称 在 逃 时间 的 础 dbt l a
上 , 出 了针 对 于 M 集 和 J集 的 特 定 的 旋 转 对 称 加 速 算 法 , 高 了绘 图速 度 。并 且 引入 不 同判 敛 标 准 和 提 提
传统 的逃逸时 间算法 是根据 M 集和 J集在 复平 面上 的收敛 性提 出的 , 其构造过程 如下 : () 1 给定计 算机屏幕代表 的迭代 区域 , 逸半 径 R及 最多 逃 迭代次数 Ⅳ; ( ) 义逃 逸时间 函数 : 2定
() I ( ) R,() < = 2 …, = 。 。 。 。 R ,, 一 l f
t r ca ma e r u h i o t g oh rc n i o ss c sd f r n r e o r o v r e c n o v r e c a i fa tl c i g st o g mp ri t e o dt n u h a i ee t i r n f n e g n e a d c n eg n e r — h n i f c ti o c

分形图形学

分形图形学

其实对分形的理解并没有那么神奇。可以说,虽然曼德布劳特硬是制造了分形(fractal)这个名词,是个新鲜的事情,但是,分形所反映的内容本身,其苗头确实古已有之。如前所叙述的那样,分形的重要来源,是数学上的思考,属于科学研究的产物,常常是某种离散动力系统参数分布的图示。因为表现这种参数分布须借助计算机的计算和处理;而作为处理的结果,这类图示观看起来是那么的漂亮、琢磨下去又是那么的含蓄,于是它的影响远远超出了数学的领域。分形不仅引起科学家们的注意,而且在艺术界造成了轰动。社会学家从人文的角度,分析与演绎分形的哲理;艺术大师们,以审美的观点,推崇与渲染分形的艺术特征…。
参考文献:分形理论在计算机图形学中的应用
人们谈论分形,常常有两种含义。其一,它的实际背景是什么?其二,它的确切定义是什么?数学家研究分形,是力图以数学方法,模拟自然界存在的、及科学研究中出现的那些看似无规律的各种现象。在过去的几十年里,分形在物理学、材料科学、地质勘探、乃至股价的预测等方面都得到了广泛的应用或密切的注意,并且由于分形的引入,使得一些学科焕发了新的活力。数学上所说的分形,是抽象的。而人们认为是分形的那些自然界的具体对象,并不是数学家所说的分形,而是不同层次近似。
几乎在曼德布劳特获得Barnard奖章的同时,以德国布来梅大学的数学家和计算机专家H.Peotgen与P.Richter等为代表,在当时最先进的计算机图形工作站上制作了大量的分形图案;J. Hubbard等人还完成了一部名为《混沌》的计算机动画。接着,印刷着分形的画册、挂历、明信片、甚至T恤衫纷纷出笼。80年代中期开始,首先在西方发达国家,接着在中国,分形逐渐成为脍炙人口的词汇,甚至连十几岁的儿童也迷上了计算机上的分形游戏。我国北京的北方工业大学计算机图形学小组于1992年完成了一部计算机动画电影《相似》,这部电影集中介绍了分形图形的相似性,这也是我国采用计算机数字技术完成的第一部电影,获得当年电影电视部颁发的科技进步奖。

优化算法改进策略总结

优化算法改进策略总结

优化算法改进策略总结
优化算法改进策略总结的关键是根据具体问题的特点,选择合适的改进策略和技巧。

下面总结几种常见的优化算法改进策略:
1.贪心策略:贪心算法选择局部最优解,并希望通过不断选择
局部最优解来达到全局最优解。

贪心策略适用于那些具有贪心选择性质的问题。

2.动态规划:动态规划通过将原问题划分为多个子问题,并保
存子问题的解,通过递推求解子问题来得到原问题的解。

动态规划适用于具有重叠子问题和最优子结构的问题。

3.分支界定:分支界定通过建立一个解空间树,将搜索过程转
化为对解空间树的遍历,通过剪枝操作来减少搜索空间。

分支界定适用于具有可行解空间结构的问题。

4.回溯法:回溯法通过试探和回溯的方式来寻找问题的解,它
适用于具有多个可能解,并且每个可能解满足一定的约束条件的问题。

5.深度优先搜索:深度优先搜索通过不断地向前搜索到不能再
继续搜索为止,然后回退到上一个节点,再继续搜索。

深度优先搜索适用于解空间较大,但解的深度较小的问题。

6.广度优先搜索:广度优先搜索通过不断地将当前节点的所有
相邻节点入队,然后按照队列中的顺序进行遍历,直到找到目标节点或者遍历完所有节点。

广度优先搜索适用于解空间较小,
但解的广度较大的问题。

总的来说,对于优化算法的改进策略,需要根据具体问题的特点进行选择,针对问题的特点使用合适的算法和技巧,以提高算法的效率和准确性。

基于广义Julia集f(z,c)=(z α+c) β+C分形图的设计与实现

基于广义Julia集f(z,c)=(z α+c) β+C分形图的设计与实现

成算法与实现 , 并阐述了它的应用价值.
1 分形及 J l ui a集
定义l 设 D是 R 的闭子集 , 若在子集 c o1 , ∈[ ,]对所有的X y , ED有 I z -sy I -y , ) ( )≤cx 则映 s ( I I 射 : —D称为D上的压缩映射. ∈D 若等式成立 , 则 将集变换成几何相似集 . 设 , S…S 是压缩映射,
记为 , 即 J — a f , s F.
2 构 造 广 义 分 形 图 的选 逸 时 间算 法
()已知动 力 系统 { , , 定视窗 W 及逃 逸半径 R 和逃逸 时 间限制 N.2 1 X f)给 ()定义逃 逸 时 间函数 :3 () ㈤ 一
z 1 o(<, I) 一 I z
20 0 6年 9月
基 于广 义 J l ui f( ,) (口 )+C a集 z 一 + 分形 图 的设 计 与 实现
张 民h
( 聊城大学 计算机学院 , ” 山东 聊城 2 2 5 ; 5 0 9 大连 海事大学 航海所 , 辽宁 大连 1 6 2 ) 10 6


以广义 的J l ui 为例 , 述 了J l a集 论 ui 分 形 图设 计 的方 法 与结 果 , 阐述 了J l a集 并 ui 分 形 a集
9 5
用逃 逸时 间算法 用计算 机绘 制 的图
形 : 1 复常 数 C 0 5+ 0 5, 图 为 一 . . i口

4 , + 时广义 J l 集分 形 - : ui a
图 , 一4 时 广义 集类 似 . 主 O - / r 7 个 要 花瓣 组 成 的花 朵 , 沌 区嵌 于稳 混 定 区之 中 ; 白色 代 表稳 定 区 , 色 ( 黑 代 表逃逸 区 ) .

Julia分形与Java

Julia分形与Java

齐齐哈尔大学综合实践题目Julia分形及其Java编程学院理学院专业班级信科121班学生姓名指导教师成绩Julia 分形及其Java 编程由于本学期分形学老师所讲分形主要是以MATLAB 为例,所画出的分形图像效果并不理想,尤其经过几次放大后图像就会失真。

而Java 在分形的应用上效果比MATLAB 好很多,因此下文主要介绍Julia 分形图,实例是以Java 为基础。

分形是近几十年发展起来的一门新的数学分支,它涉及的领域非常之广,有物理学、数学、化学、生物学、医学、地震学、地貌学、冶金学、材料学、哲学、经济学、社会学等等.分形的出现正在改变科学家观察自然界的传统方式,目前已对当今数学乃至整个科学界产生了巨大的影响.本文主要对分形几何中的四元数进行研究,运用四元数绘制二维和三维Mandelbrot 集和Julia 集,并用Java 语言编程实现.先后介绍了分形的产生、Mandelbrot 集和Julia 集、四元数分形和用四元数绘制三维Mandelbrot 集和Julia 集的数学理论,关键词:分形,四元数,Julia 集,Java 程序设计一、Mandelbrot 集与Julia 集1、 Mandelbrot 集1980年, Mandelbrot 给世人提供了一幅无与伦比的杰作: Mandelbrot 集.其创作过程如下:令c z z f +=2)(, 其中C c z ∈,,z 是复变量,c 是复常数.对变换f 施行逃逸时间法, 得到如下迭代公式[1]:pq n n c z z +=+21 (1.1)式中)0,0(0=z ,pq c 为计算机荧屏位于),(q p 位置的象素. 于是(1.1)式成了pq pq pq pq pq n c c c c c z z ++++++=+22222201)))))((((( (1.2)给定N 为一个正整数, 比如等于255. 当象素位于),(q p 且N n =时,n z 仍然小于预设的一个阈值K , 则在),(q p 位置着色为1(蓝色), 否则当N n <时, 已有K z n ≥, 则在),(q p 位置描色为n . 如此),(q p 遍历整个荧屏后, 便画出了一幅Mandelbrot 集. 该集合的坐标如图2-1所示.图2-1 Mandelbrot 集的坐标图为什么说Mandelbrot 集是分形呢? 实在是它的层层嵌套中有很多很多的自相似部分.部分经逐级放大后, 又出现了一个Mandelbrot 湖.经典的M-集是由映射c z +2得来, 人们自然会采用更多的函数, 从而得到各种各样的M-集, 又称广义M-集.c z z n n +=+cos 1;c e z z c n n ++=+)arcsin(21; c c z z n n ++=+)cosh arctan(81.2、 Julia 集Gaston Julia(1893-1978),法国数学家.1919年,他在第一次世界大战时受了伤,住院期间他潜心研究了迭代保角变换c z z n n +=+21. 这种复平面上的变换能生出一系列令人眼花缭乱的图形变化. 当时没有电子计算机,不能像现在那样把如此美妙绝论的图案奉献于世. 因此他的工作并不为世人重视.虽然产生Julia 集和Mandelbrot 集的变换都是3,2,1,0,21=+=+n c z z n n (1.3)但这里的常数c 却是任意复数, 变元0z 是计算机荧屏上的每个象素. 当0z 遍历象素),(q p 的所有点且对公式(1.3)运用逃逸时间法后, 便得到一幅Julia 集c J 了.令c= -0.65175; 0.41850;便得到 图2.2图2-2Julia 集(c= -0.65175; 0.41850;)由于Mandelbrot 集(有时简称其为M-集)和Julia 集都源于同一个变换, 因此它们之间必定有非常复杂的关系. 由于每一个常数 c 都对应一个c J , 而M-集上的每个点都是一个c , 所以M-集合的所有点就对应着数以万计的c J . 图2-3正显示了它们两者之间的这种关系. 看得出, 相近的c 值, 对应的c J 也就较为相似.图2-3 Mandelbrot 集和Julia 集从图2.3可以看出, 凡是M-集的边界点, 其对应的c J 就显有分枝状. 这里面有太多的奥妙.由于一幅Julia 集完全依赖于常数c , 所以我们常常把它简记为c J .图2-4 c 不同的Julia 集与M-集一样, Julia 集也有其广义集. 图2.4的四幅图分别对应于函数:1. )sin(cos sin 2z z c z =2. )cos(πz c z ⋅=3. πc z z z +⋅=cos )log(cosh4. πc z z z +⋅=cos )tanh(cos.二维Julia 集,用牛顿迭代算法方法进行图形绘制,绘制范围:5.1~5.1:-x 0.2~0.2:-yC= (0.67,0.48)绘制结果如图2-5所示:图2-5 二维Julia 集之二二、四元数分形与四元数Mandelbrot 集和Julia 集1、 四元数基本理论我们都熟悉平面上复数z , 其中bi a z +=, 而1-=i . 无疑, 十八世纪以前创立的复数是数学史上的一件大事. 那末是否有高维的复数呢? 所谓的超复数(hypercomplex 或supercomplex)是这样定义的:令ck bj ai w z +++=, 其中i 和k j ,都是虚数, 它们满足下述运算要求:11=-====-=-==-=-==ijk kk jj ii j ik i kj k ji j ki i jk k ij看得出, 它们的乘法满足交换律.两个超复数的乘法公式是:令 k z j y i x w h 11111+++=和k z j y i x w h 22222+++=.则+---=)(2121212121z z y y x x w w h h +--+i z y y z x w w x )(21212121 +-+-j z x y w x z w y )(21212121 kz w y x x y w z )(21212121+++其它运算法则就不再赘述.1843年, 爱尔兰数学家William R. Hamilton(哈密尔顿)发明了四元数(quaternion). 一个四元数q 的定义是这样的:zk yj xi w q +++= (2.1)其中z y x w ,,,是实数,k j i ,,是虚数, 且有1222-====ijk k j i (2.2)q 的模2222z y x w q +++=. (2.3)一个四元数Q 可以由平面上的两个复数v u ,来表示:⎥⎦⎤⎢⎣⎡-+-++=⎥⎦⎤⎢⎣⎡-=bi a di c di c bi a u v v u Q (2.4) 其中d c b a ,,,是实数.v u ,分别是复数v u ,的共轭.一个四元数也能用[]w z y x q ,,,= (2.5)来表示.一个平面上的复数由实部和虚部构成: bi a z +⋅=1, 一个四元数Q 同样也能由若干部分线性组合而成:zK yJ xI wU Q +++= (2.6)其中⎥⎦⎤⎢⎣⎡≡1001U (2.7)⎥⎦⎤⎢⎣⎡-≡i i I 00 (2.8) ⎥⎦⎤⎢⎣⎡-≡0110J (2.9) ⎥⎦⎤⎢⎣⎡≡00i i K (2.10) 于是U K J I -===222 (2.11)也就是说,K J I ,,是矩阵方程 U X -=2的解, 是负单位矩阵的平方根.一个四元数整系数基的线性组合也叫Hamilton 整数. 在4R 空间, 四元数的基是如下四个:⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=10000010001000011 (2.12) ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡--=0100100000010010i (2.13) ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡--=0001001001001000j (2.14) ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡--=0010000110000100k (2.15) 与超复数不同, 四元数的三个虚数之间的运算并不遵从乘法交换律, 其运算规则如下:k ji ij =-= (2.16) i kj j =-= (2.17) j ik ki =-= (2.18)看起来很象三维空间直角坐标系中三个单位向量k j i ,,的叉乘关系.设 zk yj xi w q +++=, 则其四元共轭为zk yj xi w q ---=.其加法遵从一般规律:k z z j y y i x x w w q q )()()()(2121212121+++++++=+.设],,,[],,,,[22221111z y x w q z y x w p ==, 其乘法服从)(21212121z z y y x x w w pq ---= i y z z y w x x w )(21212121-+++ j x z w y z x y w )(21212121++-+ kw z x y y x z w )(21212121+-++q 的模仍然遵从一般复数关系.)(q q q q q norm == (2.19)且等于公式(2.3).一个四元数可以写成一个数量加上一个向量).,(v w q=其中向量 [,,]v x y z =. 如此一来, 两个四元数的乘法就变得较为简单:),(),(221121v w v w q q⋅=),(2112212121v v v w v w v v w w⨯++⋅-= 四元数的除法也遵从复数关系qq qp q p p p p p ==-和1 从几何上来讲, 四元数代表着时间加三维空间. 如果固定实数w 为常数, 则这个四元数就是三维空间的一个变量.0)(lim=→qq f q2 四元数Mandelbrot 集和Julia 集记q 和c 为四元数, 按第二章中Mandelbrot 集的迭代法,2,1,0,21=+=+n c q q n n (2.20)就得到一幅3维四元数(把实数w 看作常数, 并认定其为第四维)Mandelbrot 集了.四元数Julia 集是4维空间中的Julia 集,同样使用公式,2,1,0,21=+=+n c q q n n其中),2,1,0( =n q n 和c 都是四元数. 生成四元数Julia 集的方法与普通复数情况类似,只需迭代公式(2.20), 只是c 是一个固定的四元数而已. 迭代时要观察 ||n q 的敛散情况.把第四维看作时间,可以认为我们生成的是一个三维动画片. 实际操作时,一般取第四维为常数,这样我们得到的是静止的三维图像. 程序主体结构与二维情况也类似,我们用多重循环扫描一个三维立方体内部所有的点,就知道该点是否属于Julia 集了. 做法如下: 对每一个y对每一个 x 对每一个z作迭代,2,1,0,21=+=+n c q q n n其中],,,0[n n n n z y x q =. 当M n =时, n q 仍属于集合的话就退出这一层循环我们并不计算z 轴方向上的所有点,那样速度太慢. 对于给定的一组),(y x ,只要沿z 轴方向找到第一个属于Julia 集合的点就够了, 其它的点被挡住,让看不见. 这样,就大大提高程序的运行速度. 也有广义的四元数Julia 集. 不过由于以四元数为自变量的函数计算过于困难, 目前还仅仅处理q 的多项式.结 论在分形几何中,许多重要的分形是由迭代产生的.因为迭代可以使一些看似简单的函数产生惊人的复杂性,Julia 集就是其中一种.由于迭代函数的多样性,Julia 集可以在计算机图形工具的辅助下呈现为色彩斑斓、结构优美的分形图案,因此可广泛应用于纺织印染、广告设计、服装设计、装潢设计以及计算机美术教学等领域.可见,研究Julia 集的生成算法具有重要的理论意义和实际价值.逃逸时间算法是生成Julia 集的经典算法,它具有基本原理简单、绘图精度高、占用内存少等优点附:代码。

ls自适应算法原理

ls自适应算法原理

ls自适应算法原理自适应算法(Least Squares Adaptation, LS算法)是一种用于实时信号处理和自适应滤波的方法。

它通过对输入信号和期望输出信号之间的误差进行最小二乘拟合,来逐步调整滤波器的系数,从而达到滤波的目的。

本文将详细介绍ls自适应算法的原理及其应用。

1. 概述自适应滤波器是一种根据输入信号的统计特性自动调整其传递函数的滤波器。

相比于传统的滤波器,自适应滤波器可以更好地适应不断变化的信号环境,提供更好的性能。

LS算法是一种常用的自适应滤波算法,其核心思想是通过最小化误差平方和来不断调整滤波器的系数。

2. LS算法原理LS算法通过最小二乘法来估计滤波器的系数。

假设有一个长度为N的滤波器系数向量W,输入信号向量X以及期望输出信号向量D。

LS算法的目标是使得实际输出信号Y与期望输出信号D之间的误差最小,即最小化损失函数L:L = ||D - Y||²其中,||.||表示向量的范数。

为了最小化损失函数,我们要求导损失函数L关于滤波器系数向量W的偏导为零:∂L / ∂W = 0对上式求导得到:∂L / ∂W = -2X^\mathrm{T}(D - XW)其中,^\mathrm{T}表示矩阵的转置。

令上式等于零,可以得到滤波器系数的估计值W:Ŵ = (X^\mathrm{T}X)⁻¹X^\mathrm{T}D3. LS算法应用LS算法在自适应滤波中有广泛的应用,例如回声消除、自适应降噪和信号预测等领域。

下面以自适应降噪为例,介绍LS算法的应用过程。

(1)收集数据首先,需要收集包含有噪声的输入信号向量X和对应的期望输出信号向量D。

这可以通过传感器获取信号数据,并根据信号的统计特性进行采样和处理得到。

(2)初始化滤波器系数为了使用LS算法进行自适应降噪,需要初始化滤波器系数向量W。

一种常用的初始化方法是将滤波器系数置为零向量。

(3)使用LS算法调整滤波器系数根据LS算法的原理,在收集到的数据上应用LS算法,通过计算得到滤波器系数估计值Ŵ。

FFT算法的的改进

FFT算法的的改进

FFT算法的的改进FFT(Fast Fourier Transform)是一种高效的算法,用于计算离散傅里叶变换(DFT)。

它通过将DFT的时间复杂度从O(N^2)降低到O(NlogN),在信号处理、图像处理和数值计算等领域得到广泛应用。

然而,有许多对FFT的改进方法,旨在进一步提高其性能和功能。

在本文中,将介绍一些常见的FFT算法改进。

1. Cooley-Tukey算法Cooley-Tukey算法是最早提出的FFT算法之一,它将DFT的计算过程分解成更小规模的DFT计算。

该算法利用了傅里叶变换的周期性质,并将复杂度从O(N^2)降低到O(NlogN)。

Cooley-Tukey算法的关键思想是将DFT分解为两个规模较小的DFT。

具体而言,该算法将输入序列分为奇数索引和偶数索引,然后分别对它们进行DFT计算。

接下来,再将结果通过对称性质合并起来。

该算法的递归实现可以进一步降低计算复杂度。

2.快速数论变换(NTT)快速数论变换(NTT)是对Cooley-Tukey算法的拓展,它应用于模数为p的多项式乘法问题。

NTT利用了复杂指数的周期性质,并适用于计算形式化指数有规律的DFT。

与FFT类似,NTT的核心思想是将DFT分解为较小规模的DFT计算。

不过,NTT使用了不同的运算规则,因此需要适应于特定的模数p。

通过结合合适的数论性质,NTT可以在O(NlogN)的时间复杂度内计算出DFT。

3. Radix-2算法Radix-2算法是基于Cooley-Tukey算法的改进版本,它在进行DFT计算时要求输入序列的长度必须是2的幂次。

Radix-2算法利用了二进制的特性,将DFT计算分解为若干层级的蝶形运算。

每一层级都将输入序列分为两部分,并在频域上进行乘法和加法运算。

通过逐层级地进行运算,Radix-2算法可以快速计算出DFT。

4. 快速Hadamard变换(FHT)快速Hadamard变换(FHT)是对FFT的另一种改进算法,它适用于实数域上的信号处理。

用加速逃逸时间算法构造Julia集图形

用加速逃逸时间算法构造Julia集图形
Ab ta t sr c T ep p rgv stee cp i lo tm ihda igfatli g ,o srcsan w ec p i u cina d po oe n h a e ie h sa et meag r h whc rw n ca ma e c n t t e sa etmefn t n rp ssa i r u o
ac lrt eec p i lo tm yw ihc n t cssv rlq a rt ui e rca mae . ee p rme ts o h tteef in yi ceeai sa et v meag r h b hc o sr t eea u dai J l stf tli g s Th x ei n h wsta h fce c s i u c a a i
, , … ,
这个定义包括一大类具有 分数维 的分形集 , 忽略 了某些 维数 但 为整数 的分形集 。18 96年 M n e r 叉给 出了分形 的另一 个定 a dl o bt
义 “ atls hp a eo a ss l ew o nsm A f ca i asa em d f n i a t t hl i o e r p mir o h e
Ke wo d y rsቤተ መጻሕፍቲ ባይዱ
Fa tl E c p i lo tm J ai e rca s a et meagr h i ul st a
( )在大多数 令人感兴趣 的情况 下 , 5 F可以通过递 归 、 迭代
0 引 言
分形理论是非线性科学 研究 中十分活跃 的一个 分支 , 的 它 研究对象是 自然界和非线性系统 中出现的不光滑和不规则 的几 何形体 , 它发展极 其迅速 , 新成果层 出不穷 , 用计算机绘制 分形
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


要: 在研 究经典 的L 文 法和Jl 逃 逸 时 间算 法的基 础 上 , 了克 服 两种 算 法产 生 的分形 图案 的单一 性 和 色彩 的 S ui a 为
单调 性 , 上述 两种 分形 算法做 了适 当的改进 。改进 算法程 序计 算 结果表 明 , 对 改进 算 法是 可行 的和 有 效的 , 所产 生 的 分形 图案具 有 一定 的 实际应 用价值 。 关键 词 :S L 文法 ;ui集 ; 法改进 ; Jl a 算 分形 图案
第 7 第 l期 卷 1
2 0年 l 08 1月
软 件 导 刊
So t r fwa eGu d ie
VO . . 1 17NO 1 NO 20 8 V. 0
L 文法 与J l 逃逸 时间算法 改进 S ui a
柳 炳祥 , 王 华 , 海 林 李
( 德 镇 陶瓷 学 院 信 息工程 学 院 , 西 景德镇 330 ) 景 江 34 3
黄石 人 . 景德 镇 陶瓷 学 院信 息工 程 学院 硕 士研 究 生, 究 方向 为数 据挖 掘 ; 海林 ( 9 5 , , 建 南平人 , 德镇 陶瓷 学 院信 息 工程 研 李 1 7 ~) 男 福 景 学 院硕士研 究生 . 究 方向 为人 工智 能 、 策 支持 系统 。 研 决
( ) 顺 时针旋 转8; 4 一: 。
( ) : 当前 信息 压栈 ; 5 [将
图1 多 规 则L 文 法 图 S
() : “ ” 6 ]将 [ 时刻 的信 息 出栈 。
L 文法 是一 类独 特 的迭 代 过程 。 核心 概念 就是 重 写 自己 s 其 的某个元 素 。作为 一种 形式 语言 ,s 法用 字母 表 和符号 来表 L文
中 图 分 类 号 :P 1 T32 文 献标 识码 : A 文 章 编 号 :6 2 7 0 (0 8 1 - 0 5 0 17 — 8 0 2 0 ) 1 0 7 — 3
达生 成对 象 的初始 形 式 , 称其 为 公理 , 后根 据 一组 产 生式 重 然
O 引 言
分形作 为几 何对 象 。 首先 是破 碎 的 、 不规 则 的 , 具有 自相 似
12 L 文法 的改 进 . S
按 照上 面 的算 法 , 以产 生 很 多精 美 的 图案 , 上 面 【 可 但 5算
基 金 项 目 : 西 省 教 育厅 科 研 项 目 ( 0 2 8 江 GL 6 0 ) 作 者简 介 : 炳 祥 (9 6 , , 柳 16 ~) 男 江西 九 江人 , 士 , 德镇 陶瓷 学 院信 息工程 学院教 授 、 士 生导 师 , 究 方 向为数 据 挖掘 ; 博 景 硕 研 王华 ( 9 3 ) 女 , 北 17 - , 湖
从算 法 步骤 中可 以发 现 , 每个 踯 被其 自己的规 则所 替换 ,
最后 利用 算法 按 要求进 行 画线 处理 , 终产 生 图案 。 最
本 文在原 有算 法 的基础 上进 行改 进 , 使其 产生 的色彩 和样 式效 果更具 有多 样性 , 大 了分形 图案 的应 用领 域 。 扩
果和色 彩 的单调 , 致应 用效 果不 能 明显提 高 。 于 以上 缺点 , 导 基
写规 则 ,将 初始 形式 的每个 字符依 次 替换 为新 的字符 形 式 , 以 此 过 程反 复 替换 重 写 , 最后 生 成分 形 图案 。例 如 , 始公 理 为 初
X. 成 规 N R为 F > + — 则 有 : 生 一 F F F, 步 骤 0 F; : 步 骤 1n F; : 步 骤 2 F F F F F F F F F Ft +—++ +—— +— 步 骤 3 … … :
沙 滩 上 行 走 , 龟 走 的 每 一 时 刻 的 状 态 定 义 为 当前 的位 置 矢 量 海
的 图案如 图1 示 , 所 其公 理及 算 法描述 为 :
角 度 8:0 60 初 始 字 母 (: 1R )
生成 规则 P :一 RE L RE R F ; 1 F > J + ] + — 生成 规贝 2: 一 F + [R] 0P R > [ R]一 R;

7 ・ 6
软 件 导 刊
2 0 年 08
法[] 3 在迭 代完 成 一次 之后 , 是 按照 原来 的 规则 来 继续 上 一 又
控制 , 以在指定 的深 度进行 不 同颜色 的着 色 。 照这种想 法 , 可 按
次 的操作 。 因此 。 产生 的图案是 由一 种类 型 的规 则获 得 的。 果 如 换个 角度 想 . 能否用 两种 或两 种 以上类 型 的规则来 规定 画笔 的 画 图路径 呢? 简单 来 讲 , 利用 当前 规则 画完 一次 路径 之后 , , 以产 生 不 同的 分形 图案 , 可 大体 可 以分 为 两类 ,分 别 是单 一 规 则L s文法 图案和 多 规则 L 文 法 s 图 案 。上 述例 子可 以产 生 单一 规则 的分 形 图案 , 而多 规则 产 生
1 L S文 法
11 原始LS 法算 法 . 文 在二维 平 面上 ,s L 文法 [ ] 1 图形 的生 成过 程 , 似于 海龟 在 类
T 与前进 方 向8 的集 合 ( 6 , 二 维 L 文法 字 线 表绘 图规则 如 T, )则 S
下:
( ) 以 当 前 方 向前 进 一 步 , 画 线 ; 1F: 并
( ): 当 前 方 向 前 进 一 步 , 画 线 ; 2 f以 不
( ) 逆 时针旋 转8; 3 +: 。
性 . 一种 组 成部 分 与整 体 以某 种 方 式相 似 的形 , 形算 法 主 是 分 要有 确定性 算法 和 随机 性算法 两种 。 算法 不仅 局 限于整 数运 算 范 围内的分 形集 合 . 而且 在复 平 面上得 到更 多 的应用 。 而 , 然 原 始算法 产生 的分 形 图案 , 不仅 很难 通过 常用 的 图形处 理软 件 进 行修 改 . 其 效果 不 缺乏 单 一性 , 使 还使 得 分 形产 生 的 图案 因效
相关文档
最新文档