计算机图形学--分形图的生成.doc_第1页
计算机图形学--分形图的生成.doc_第2页
计算机图形学--分形图的生成.doc_第3页
计算机图形学--分形图的生成.doc_第4页
全文预览已结束

下载本文档

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

文档简介

实验六 分形图的生成班级 08信计2班 学号 20080502074 姓名 付洋杰 分数 一、实验目的和要求:1、掌握希尔宾斯基三角形.和茱莉亚集的基本原理。2、熟悉两个图形的生成算法。3、掌握希尔宾斯基三角形.和茱莉亚集的生成.。4、提高分形图形生成的理解应用能力。二、实验内容:1、对于第一个图形在平面内随机的设置种子,并由此而设定三角形的三个顶点。形成初始化模式后,绘制三万个点,使规则传递下去。2、对于第二个图形则运用逃逸时间法后设定一个常数c的值。 3、对两图形分别进行分析对比其局部与整体的自相似性。 三、实验结果分析:1、该程序实现了递归算法和逃逸时间法的图形绘制 2、比较每一小部分与整体的关系: 图形的层次是无限的、分形往往可以从局部“看出”整体、虽然看上去十分复杂,但其背后的规则却是相当简单。四、程序代码:1、希尔宾斯基三角形为:#include #include #include void main()srand(unsigned)time(NULL);/ 设置随机种子POINT P3 = 320, 50, 120, 400, 520, 400;/ 设定三角形的三个顶点POINT p = rand() % 640, rand() % 480;/ 随机产生当前点/ 初始化图形模式initgraph(640, 480);/ 绘制三万个点int n;for(int i = 0; i = 30000; i+)n = rand() % 3;p.x = (p.x + Pn.x) / 2;p.y = (p.y + Pn.y) / 2;putpixel(p.x, p.y, GREEN);/ 按任意键退出getch();closegraph();运行结果为:2.茱莉亚集的生成图形程序代码:#include #include / 定义复数及乘、加运算/ 定义复数struct COMPLEXdouble re;double im;/ 定义复数“乘”运算COMPLEX operator * (COMPLEX a, COMPLEX b)COMPLEX c;c.re = a.re * b.re - a.im * b.im;c.im = a.im * b.re + a.re * b.im;return c;/ 定义复数“加”运算COMPLEX operator + (COMPLEX a, COMPLEX b)COMPLEX c;c.re = a.re + b.re;c.im = a.im + b.im;return c;/ 主函数/void main()/ 初始化绘图窗口initgraph(640, 480);/ 绘制 Julia Set (茱莉亚集)/COMPLEX z, c;c.re = -0.75, c.im = 0;/ 设置迭代初值int x, y, k;/ 定义循环变量for(x = 0; x 640; x+)for(y = 0; y 480; y+)z.re = -1.6 + 3.2 * (x / 640.0);z.im = -1.2 + 2.4 * (y / 480.0);for(k = 0; k 4.0 )break;z = z * z + c;putpixel(x, y, (k = 180) ? 0

温馨提示

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

评论

0/150

提交评论