计算机图形学分形图的生成_第1页
计算机图形学分形图的生成_第2页
计算机图形学分形图的生成_第3页
计算机图形学分形图的生成_第4页
计算机图形学分形图的生成_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、仅供个人参考实验六分形图的生成班级08信计学号60姓名杨平萍分数一、实验目的和要求:1、掌握分形基本原理2、熟悉分形的计算机模拟算法3、上机操作迭代函数系统算法4、编译并执行谢宾斯基(Sierpinski)三角形二、实验内容:1、编程实现分形的迭代函数系统算法,并输出图形;2、编译曼德布洛特集和可放大的曼德布洛特集。.三、编程并实现MandelbrotSet(曼德布洛特集)的运行程序:#include<graphics.h>#include<conio.h>structCOMPLEXdoublere;doubleim;;COMPLEXoperator*(COMPLEXa

2、,COMPLEXb)COMPLEXc;c.re=a.re*b.re-a.im*b.im;c.im=a.im*b.re+a.re*b.im;returnc;COMPLEXoperator+(COMPLEXa,COMPLEXb)COMPLEXc;c.re=a.re+b.re;c.im=a.im+b.im;returnc;voidmain()initgraph(640,480);COMPLEXz,c;intx,y,k;/定义循环变量for(x=0;x<640;x+)c.re=-2.1+(1.1-2.1)*(x/640.0);for(y=0;y<480;y+)c.im=-1.2+(1.2-

3、1.2)*(y/480.0);z.re=z.im=0;for(k=0;k<180;k+)if(z.re*z.re+z.im*z.im>4.0)break;z=z*z+c;putpixel(x,y,(k>=180)?0:HSLtoRGB(float)(k<<5)%360),1.0,0.5);getch();closegraph();程序截图可以无穷放大的MandelbrotSet(曼德布洛特集)的运行程序:#include<graphics.h>不得用于商业用途仅供个人参考#include<conio.h>#defineITERATIONS1

4、000#defineMAXCOLOR64structCOMPLEXdoublere;doubleim;COMPLEXoperator*(COMPLEXa,COMPLEXb)COMPLEXc;c.re=a.re*b.re-a.im*b.im;c.im=a.im*b.re+a.re*b.im;returnc;COMPLEXoperator+(COMPLEXa,COMPLEXb)COMPLEXc;c.re=a.re+b.re;c.im=a.im+b.im;returnc;intColorMAXCOLOR;voidInitColor()inth1=240,h2=30;for(inti=0;i<M

5、AXCOLOR/2;i+)Colori=HSLtoRGB(float)h1,1.0f,i*2.0f/MAXCOLOR);ColorMAXCOLOR-1-i=HSLtoRGB(float)h2,1.0f,i*2.0fMAXCOLOR);voidDraw(doublefromx,doublefromy,doubletox,doubletoy)COMPLEXz,c;intx,y,k;for(x=0;x<640;x+)c.re=fromx+(tox-fromx)*(x/640.0);for(y=0;y<480;y+)c.im=fromy+(toy-fromy)*(y/480.0);z.re

6、=z.im=0;for(k=0;k<ITERATIONS;k+)if(z.re*z.re+z.im*z.im>4.0)break;z=z*z+c;putpixel(x,y,(k>=ITERATIONS)?0:Colork%MAXCOLOR);voidmain()initgraph(640,480);InitColor();doublefromx,fromy,tox,toy;fromx=-2.1;tox=1.1;fromy=-1.2;toy=1.2;Draw(fromx,fromy,tox,toy);MOUSEMSGm;boolisLDown=false;intselfx,se

7、lfy,seltx,selty;while(!kbhit()m=GetMouseMsg();switch(m.uMsg)caseWM_MBUTTONUP:fromx=-2.1;tox=1.1;fromy=-1.2;toy=1.2;Draw(fromx,fromy,tox,toy);break;caseWM_MOUSEMOVE:if(isLDown)rectangle(selfx,selfy,seltx,selty);seltx=m.x;selty=m.y;rectangle(selfx,selfy,seltx,selty);break;caseWM_LBUTTONDOWN:setcolor(W

8、HITE);setwritemode(R2_XORPEN);isLDown=true;selfx=seltx=m.x;selfy=selty=m.y;rectangle(selfx,selfy,seltx,selty);break;caseWM_LBUTTONUP:rectangle(selfx,selfy,seltx,selty);setwritemode(R2_COPYPEN);isLDown=false;seltx=m.x;selty=m.y;if(selfx=seltx|selfy=selty)break;inttmp;if(selfx>seltx)tmp=selfx;selfx

9、=seltx;seltx=tmp;if(selfy>selty)tmp=selfy;selfy=selty;selty=tmp;if(seltx-selfx)*0.75<(selty-selfy)selty+=(3-(selty-selfy)%3);selfx-=(selty-selfy)/3*4/2-(seltx-selfx)/2;seltx=selfx+(selty-selfy)/3*4;elseseltx+=(4-(seltx-selfx)%4);selfy-=(seltx-selfx)*3/4/2-(selty-selfy)/2;selty=selfy+(seltx-sel

10、fx)*3/4;doublef,t;f=fromx+(tox-fromx)*selfx/640;t=fromx+(tox-fromx)*seltx/640;fromx=f;tox=t;f=fromy+(toy-fromy)*selfy/480;t=fromy+(toy-fromy)*selty/480;fromy=f;toy=t;Draw(fromx,fromy,tox,toy);break;getch();closegraph();程序截图:不得用于商业用途仅供个人参考四、实验结果分析分形的对称性即表现了传统几何的上下、左右及中心对称。同时它的自相似性又揭示了一种新的对称性,即画面的局部与更

11、大范围的局部的对称,或说局部与整体的对称。它是大小比例的对称,即系统中的每一元素都反映和含有整个系统的性质和信息。从数学上来讲,曼德布洛特集合是一个复数的集合。曼德布洛特集合就是使以上序列不延伸至无限大的所有c点的集合。事实上,一个点属于Mandelbrot集合当且仅当它对应的序列(由上面的二项式定义)中的任何元素的模都不大于2。Mandelbrot集合图形的边界处,具有无限复杂和精细的结构。如果计算机的精度是不受限制的话,可以无限地放大她的边界。当放大某个区域,它的结构就在变化,展现出新的结构元素。这正如前面提到的"蜿蜒曲折的一段海岸线",无论怎样放大它的局部,它总是曲折

12、而不光滑,即连续不可微。如果把所有不同的Julia集重合起来,我们将会得到一个四维图形,它的其中两个维度是不同的初始值z构成的复平面,另外两个维度则是不同的常数c构成的复平面。这个四维空间就包含了所有不同的初始值在所有不同的常数c之下迭代的发散情况。而Mandelbrot集,则是这个四维图形在c=0处的一个切片,并且是最具有概括力的一个切片。因此,我们相当于有了Mandelbrot集的一个四维扩展,从这个四维图形中,我们可以切出很多二维的或者三维的切片,得到更多惊人而漂亮的图形。仅供个人用于学习、研究;不得用于商业用途Forpersonaluseonlyinstudyandresearch;notforcommercialuse.Nurfurdenpers?nlichenfurStudien,Forschung,zukommerziellenZweckenverwendetwerden.Pourl'

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论