




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
分形图形学实验指导实验一 二维空间上的分形图形生成实验目的1. Mandelbrot集与Julia集的计算机实现2. 掌握用L系统语言生成分形实验内容及步骤1. 编写程序生成Mandelbrot集在复迭代中影响最大的当属迭代zz2+c,实际上它只是形式更一 般的复解析迭代z_(n+1)=F(z_n)+c的一种, F是一个非线性函数。显然zz2+c也是最简单的一种,它 在复迭代中的地位相当于逻辑斯蒂映射x_(n+1)=ax_n(1- x_n)在实迭代中的地位(见第八章)。考虑一般形式的F,令z=x+iy,c=c_( X)+ic_(Y),其中i表示虚数,i=SQRT(-1)。分离实部与虚部,具体化迭代关系便有:xf(x,y)+c_(X),yg(x,y)+c_(Y).通常所说的M集是迭代二次函数zz2+c产生的,此函数具 体化就是xx2-y2+c_(X),y2xy+c_(Y).其中z=x+iy,c=c_(X)+ic_(Y ),以横轴x记录实数的实部,以纵轴y记录实数的虚部。M集合实际上是常数c=(c_(X),c_(Y)构成的图象。让 c从屏幕左上角开始变化,逐行增加,一直变到屏幕右下角。如果取的区域是2002 00,则一共要计算40,000个点,把计算的结果用不同的颜色标记下来,就得到一幅图象,这 就是M集。对于不同的c值,如何得到表征迭代性质的不同的结果呢? 容易知道,无穷远处肯定是迭代的一个吸引子,即对于复平面上相当多的初始条件,迭代最终都跑到无穷远处。但研究发现,在原点附近还存在一个奇特的区域,在迭代过程中此区域永远不会跑掉。在非严格的意义上,这个不变的集合就是M集,我们的主要任务就是画出这个集合的边界实际上边界是分形曲线,极其复杂,M集图象的全部魅力就在这里。 在复平面上,我们以原点(0,0)作为参考点,观察迭代过程是否远离原点,以及逃离原点的速度如何。为此规定一个距离函数 D=x2+y2,其实D有许多不同的取法,以上取法是最普通的。可以看出,如果D较大,表 明迭代点离原点较远,如果D较小,表明迭代点离原点较近。假设对于任何一个 c,迭代都从(x_0,y_0)=(0,0)开始,我们观察迭代点列(x_1,y_1),(x_2,y_2),(x_3,y_3), ,(x_(100),y_(100),的变化状况。每一次都计算一下D值,即该点与原点(0,0)的距离(为方便计,这里 实际上计算的是距离的平方)。取一个参考距离R,不妨取得大一些,比如R =40(实际上取20就足够了)。现在想知道迭代多少次后实际的距离D大于R 。在迭代过程中如果D小于R,则继续让计算机迭代,要规定一个上限, 比如300次。如果迭代了300次后结果仍然不跑掉(即D仍然小于R),则可以近 似认为此点属于M集合。对于迭代次数小于300次的情况,如果迭代10次D就大于R,则标记c 点为白色;如果迭代35次D开始大于R,则标记c点为红色;如果迭代 110次D开始大于R,则标记c点为蓝色,等等。2. 编写程序生成Julia集一个M集可以对应无数种J集,实际上M集就是所有J集的浓缩 。M集不同部位的形状,反映了对应于该处的J集的形状,于是用M集 可以对J集进行分类,至少在计算机图形学的层次上可以这样说。计算J集时,初始迭代点就不能总取(0,0)了,而是要根据实际位置取实际的 (x,y)坐标值。仍以迭代zz2+c为例说明。先取 定一个c值,比如c=(1.0221,0.2433),迭代关系化为xx2-y2+1.0221,y2xy+0.2433.从屏幕左上角算起,逐行计算,一直算到屏幕右下角。当然,也可以不取整个屏幕那么大,只选一个200200的小区域做。标色的原理与上面讲M集合时完全类似,此略。改变常数c的取值,可以得到 各式各样的J集。3. 比较M集与J集的区别与联系在源程序中,M集与J集的计算方法十分相似,只需改变两处语句就可以互换为对方。初始迭代点迭代关系说明M集x0:=0;y0:=0;x1:=f(x,y)+p0;y1:=g(x,y)+q0;p_0,q_0不断变化J集x0:=p0;y0:=q0;x1:=f(x,y)+c_X;y1:=g(x,y)+c_Y; c_(X),c_(Y)固定不变4. 编写程序用L系统语言生成分形图形1) 编写程序生成柯赫曲线:初始图形是一条线段,生成过程是将线段中间1/3向外折起。程序伪码如下: KochCurve ;柯赫曲线Angle 6 ;角度增量是60Axiom F ;初始图形是一单位线段F=F+F-F+F ;产生式是将线段中间1/3折起 ;结束2) 用L系统再次生成希尔伯特曲线。生成希尔伯特曲线的伪码如下:Hilbert ;希尔伯特曲线,1996-12 Angle 4Axiom Y ;初始串为任意字母YX=-YF+XFX+FY- ;第一个生成规则Y=+XF-YFY-FX+ ;第二个生成规则,由以上规则不断代换3) 模拟草本植物。注意这里出现了“括号”可以方便地表示树枝,伪码如下:HerbPlant ;生成植物,本程序使用了括号Angle 14Axiom ZZ=ZFX+Z-ZX=X-FFF+FFFFX实验二 高维空间的分形图形生成实验目的1. 了解三维L-系统生成高维空间分形图形的方法2. 掌握四元数生成Mandelbrot集和Julia集3. 掌握随机中点位移法实验内容及步骤1. 编写程序,使用四元数生成Mandelbrot集和Julia集通常我们是在二维复平面上研究广义的M集和J集,也可以通过“四元数” (quaternions)将它们推广到高维空间中去。在二维复平面中表示复数只用两个基向量:1和 i。在四维空间中讨论超复数,现在有四个基向量:1, i, j和k。 任一复数可以表示为q=x+yi+zj+qk.超复数基向量之间的运算关系(注意,不同于传统上四元数基向量之间的运算关系)为:ij=k,jk=-i,ki=-j,ji=k,kj=-i,ik=-j,ii=jj=-kk=-1,ijk=1.注意,运算关系的规定多少有些任意性,也可以规定i2=j2=k2=+ 1。在四维空间H中也可以研究迭代xx2+c下的超朱丽亚集J, 选一个截面,将超朱丽亚集投影到三维空间中,可以得到立体的J集图象。实验三 分形混沌动力系统实验目的1. 了解动力系统概念2. 掌握Julia复动力系统及其IFS诠释3. 了解混沌的概念;实验内容及步骤1. 使用IFS方法,编写生成Julia复动力系统的程序通过IFS方法还可以绘制朱丽亚集J。设zz2+c,求出两个逆变换 :w_1(z)=SQRT(z-c),w_2(z) =-SQRT(z-c), 取概率(p_1,p_2)=(1/2,1/2),迭代后生成的吸引子实际上就是各种朱丽亚 集!IFS方法、L系统、混沌动力学以及有关 M集和J集的迭代,事实上都是相互关联着的,这种关联体现了非线性科学的 内在逻辑。 算法:Julia_IFS标题:Julia集的IFS算法参数:z(迭代次数) PI(值) RAND_MAX(随机最大值)变量:k(概率变量) x,y(z的实部和虚部) cx,cy(c的实部和虚部) r(极距) a,b,e,f,m,n,wx,wy,theta 函数:Pset(x,y) (画点函数) Rand(随机函数) sin(正弦函数) cos(余弦函数) atan(反正切函数)BEGIN FOR i=1 TO z m=a*x+e n=b*y+f IF i10 THEN Pset(m,n) ENDIF wx=x-cx wy=y-cy IF wx0 THEN theta=atan(wy/wx) ENDIF IF wx0 THEN theta=PI+atan(wy/wx) ENDIF IF wx=0 THEN theta=PI/2 ENDIF theta=theta/2 r=sqit(wx*wx+wy*wy) k=rand rnd=k/RAND_MAX IF rnd0.5 THEN r=sqrt(r) ELSE r=-sqrt(r) ENDIF x=r*cos(theta) y=r*sin(theta) ENDFOREND实验四 分形图像压缩实验目的1. 掌握冗余度压缩(熵编码)2. 限失真编码(熵压缩)3. 掌握分形图像压缩的原理与方法4. 编程实现分形图像压缩。实验内容及步骤1. 使用IFS方法,编程实现简单自相似图像谢尔宾斯基基垫压缩分形图像压缩是利用原始图像所具有的自相似性,构造一个迭代函数系统(IFS),利用IFS抽取图像的自相似性,即用图像中的一个子块经过分形仿射变换来逼近同一图像中的另一子块,而且仅仅将仿射变换系数记录下来,从而达到压缩图像数据的目的。以谢尔宾斯基基垫为例加以说明,如下图。可以看出,整个垫子是由上、左下、右下3个较小的垫子组成。每个较小的垫子是由原来的垫子经收缩仿射变换得来的。如果能分别找出把原图形变成3个小图形的收缩放射变换,那么,整个迭代函数系统就定下来了。 设原来垫子3各顶点的坐标分别为(x1,y1),(x2,y2),(x3,y3)。变换所得小垫子的3个顶点坐标为(x1,y1),(x2,y2),(x3,y3)。图2.3(b)表示的是把原电子变为上面小垫子的坐标。把W1的变换式展开: x1=a1x1+b1y1+e1 y1=c1x1+d1y1+f1 x2=a1x2+b1y2+e1 y2=c1x2+d1y2+f1 x3=a1x3+b1y3+e1 y3=c1x3+d1y3+f1 解这组方程得到变换W1的各系数。代入以上方程组,得
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年初级的电子电路设计模拟题集及解析
- 2025年乡镇农技站招聘农业物联网维护员考试重点与难点解析
- 抹灰安全教育培训记录课件
- 2025年低熔点金属胶合作协议书
- 2025年大坝建设项目发展计划
- 辽宁省葫芦岛市连山区2025-2026学年上学期七年级开学摸底考试数学试卷(含部分简单答案)
- 2025年微机励磁屏项目合作计划书
- 职教云诊断学题库及答案
- 考试英语搞笑题及答案
- 技能培训知识课件
- 生育津贴相关管理办法
- 2023-2025年中考语文试题分类汇编:记叙文阅读(辽宁专用)解析版
- 学校食堂从业人员食品安全知识培训考试试题(含答案)
- 电影艺术概述-设计艺术-人文社科-专业资料
- 2025年教科版新教材科学三年级上册全册教案设计(含教学计划)
- 医院药品采购与质量控制规范
- 数控机加工技术知识培训课件
- 支部纪检委员课件
- 从+“心”+出发遇见更好的自己-开学第一课暨心理健康教育主题班会-2025-2026学年高中主题班会
- 2025版仓储库房租赁合同范本(含合同生效条件)
- 2025年人伤保险理赔试题及答案
评论
0/150
提交评论