文档介绍:计算机科学学院
多媒体实验报告
课程多媒体计算机技术
题目 M集的绘制
年级 2008级
专业计算机科学与技术
指导教师罗铁祥
小组成员王圆
王龙
刘四通
孔德志
杜江南
2011年4 月25日
组
员
学号
姓名
080610
08061016
08061024
08061039
08061077
王圆
王龙
刘四通
孔德志
杜江南
实验名称
M集绘制
实验室
9#206
实
验
目
的
或
要
求
实验目的:
Applet中绘制M集
应用程序中绘制M集
对所画的M集图形保存为JPEG格式的图像
熟悉掌握Java的基础知识
通过对Java实例的编写,加强对Java语言的深入理解
实验要求:
编写语言: Java
实现平台: MyElipse
开
发
背
景
分形学的产生
1973年,曼德勃罗()在法兰西学院讲课时,首次提出了分维和分形几何的设想。分形(Fractal)一词,是曼德勃罗创造出来的,其原意具有不规则、支离破碎等意义,分形几何学是一门以非规则几何形态为研究对象的几何学。由于不规则现象在自然界是普遍存在的,因此分形几何又称为描述大自然的几何学。分形几何建立以后,很快就引起了许多学科的关注,这是由于它不仅在理论上,而且在实用上都具有重要价值。分形几何与传统几何相比有什么特点:⑴从整体上看,分形几何图形是处处不规则的。例如,海岸线和山川形状,从远距离观察,其形状是极不规则的。⑵在不同尺度上,图形的规则性又是相同的。上述的海岸线和山川形状,从近距离观察,其局部形状又和整体形态相似,它们从整体到局部,都是自相似的。当然,也有一些分形几何图形,它们并不完全是自相似的。其中一些是用来描述一般随即现象的,还有一些是用来描述混沌和非线性系统的。
Mandelbrot集的概念
Mandelbrot研究中最精彩的部分是1980年他发现的并以他的名字命名的集合,他发现整个宇宙以一种出人意料的方式构成自相似的结构(见图1)。Mandelbrot 集合图形的边界处,具有无限复杂和精细的结构。如果计算机的精度是不受限制的话,您可以无限地放大她的边界。图2、图3 就是将图1中两个矩形框区域放大后的图形。当你放大某个区域,它的结构就在变化,展现出新的结构元素。这正如前面提到的"蜿蜒曲折的一段海岸线",无论您怎样放大它的局部,它总是曲折而不光滑,即连续不可微。微积分中抽象出来的光滑曲线在我们的生活中是不存在的。所以说,Mandelbrot集合是向传统几何学的挑战。
分形有以下凡个特点:
(1)具有无限精细的结构;
(2)比例自相似性;
(3)一般它的分数维大子它的拓扑维数;
(4)可以由非常简单的方法定义,并由递归、迭代产生。
Mandelbrot集的应用
  它的数学模型非常简单。连续放大Mandelbrot集合局部可以制作精美的GIF动画,放大过程所呈现的无穷玄机和美感引发人们去探索。取其局部进行放大,可以看到它的精细结构及其自相似性质,放大可以无限地进行下去。Mandelbrot集合局部放大过程精彩地描述了分形的性质,描述了自然界的本质,可以说分形几何是真正描述大自然的几何学。近几年在流体力学不稳定性、光学双稳定器件、化学震荡反映等试验中,都实际测得了混沌吸引子,并从实验数据中计算出它们的分维。学会从实验数据测算分维是最近的一大进展。分形几何学在物理学、生物学上的应用也正在成为有充实内容的研究领域。
技
术
简
介
Mandelbrot集的绘制技术:
对于复数平面上的一个点C, 以及作为变量的复数Z(初始值为0), 定义一个迭代运算的过程:
Zn+1 =Zn^2 +C
对于输入的Z0,通过迭代会产生Z1,Z2,……
在迭代过程中,由于不能无限迭代,通常定义一个迭代上限, 如果在上限范围之内|Z|没有越界,那么认为这个点是M集的,通过染色,进行标记。最终对平面中的点进行范围判断,来确认M集在复平面中的范围,并绘制成图
算法实现过程如下:
变量初始化,设定绘图区的大小,并建立绘图点和绘图区域的映射, 使绘图区的每一像素点都对应一个唯一确定的一对值
将像素点带入Mandelbrot集迭代公式进行迭代
迭代过程中要判断Z的值是否需要着色
重复2, 3步骤,直至所有的像素点全部元素运算完毕,即所有像素点均着色
Applet实现:
创建窗体和绘图类
为了在java 上实现Mandelbrot 图形绘制, 必须要创建一个窗体, 并建立一个绘图类BufferedImage, 这个类将会成为其绘制图形
的载体。实现的方式如下:
class Mand