- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件测试9
信息学院
上机实验报告
学号:124100409 姓名:郭志豪 班级: 软件工程12F 实验时间: 2014年11月28日 实验地点:睿智4栋212 开发环境: 课程名称:软件测试技术与实践 实验性质: □ 综合性实验 √ 设计性实验 □验证实验 实验内容:分形绘制程序 题目来源:□ 教材 页 题 √ 教师补充 □ 自选题目 实验目的:
编程实现Mondelbrot Set及Julia Set的基本显示(一个像素为基本单位,设计颜色查找表,按迭代次数绘制出不同的颜色)。
提供一定的交互功能,如选择任意区域放大显示。
生成Mondelbrot Set及Julia Set连续放大的视频。
工具/准备工作:
本实验采用Java语言编程实现。 实验内容与步骤:
基本原理
Mondelbrot Set:
颜色表生成公式
颜色表采用32级RGB各分量递增的颜色序列,来表示迭代过程中各点逃逸的快慢程度。如果属于Mondelbrot Set,颜色为黑色。
迭代公式
=+c,其中=0,c为当前点的坐标表示的复数,k为阶数,默认情况下k=2。
缩放公式
设W为画布的宽度,H为画布的高度,当前显示范围的左上角坐标为Pt(x,y),宽度为w,高度为h,则有
同时将Pt点映射到画布的(0,0)点,即可使用上述公式在指定范围内使用迭代公式进行计算并确定每一点的颜色。
Julia Set
颜色表生成公式
同Mondelbrot Set。
迭代公式
=+c,其中为当前坐标表示的复数,c为给定的复数常量。
缩放公式
同Mondelbrot Set。
需求说明
人机交互界面设计
人机交互界面需提供参数的输入,放大区域的选择、绘图、放大、缩小、、生成GIF动画等操作。提供此功能的源代码为src\pp\graph\fractal\HomeWork.java文件,文件中提供了绘制类型的选择分别提供Mondelbrot Set 和Julia Sets两种选择,同时针对Mondelbrot Set提供了最大迭代次数N及阶数k的输入,针对Julia Sets提供了最大迭代次数N及复数常量c的输入,同时提供了绘图、放大、缩小、还原、生成GIF动画的按钮。如下图所示:
设计颜色表
颜色表采用32级RGB各分量递增的颜色序列,来表示迭代过程中各点逃逸的快慢程度。初始颜色为RGB(242,82,11),R的增量为:dR=0.34375,G的增量为:dG=4.625,B的增量为:dB=6.5625。颜色表在程序文件src\pp\graph\fractal\BaseFractalGenerator.java中进行初始化。
设计画布
画布提供生成图形的现实,同时提供画布的局部更新操作,为选择放大区域功能提供支持。实现画布功能程序代码为src\pp\graph\fractal\JCanvas.java。
实现迭代公式
Mandelbrot Set 迭代公式实现的程序文件为src\pp\graph\fractal\MandelbrotSetGenerator.java,Julia Sets迭代公式实现的程序文件为 src\pp\graph\fractal\JuliaSetsGenerator.java。
实现图形的缩放功能
通过缩放公式实现坐标系中部分区域在画布上的坐标映射和显示的功能。实现此功能的程序文件为src\pp\graph\fractal\HomeWork.java。
实现图像的放大过程记录并生成GIF动画
在图形Zoom In的过程中程序会把每一帧生成的图形记录下来,最后通过一个第三方的GIF生成组件把记录下来的每帧图形按照每帧间隔2秒的方式生成一个GIF动画。实现每帧图形记录到队列的程序为src\pp\graph\fractal\HomeWork.java,第三方开源GIF动画生成组件的文件分别为:src\gif\AnimatedGifEncoder.java、src\gif\GIFCreater.java、src\gif\GifDecoder.java、src\gif\LZWEncoder.java、src\gif\NeuQuant.java。
结果表现形式
Mondelbrot Set
k=2Mondelbrot Set提供了最大迭代次数N及阶数k的输入:
n=2 n=3
n=4 n=5
N=6 n=7
N=10
您可能关注的文档
- 车牌图像二值化方法的研究论文.doc
- 转动设备安装方案.doc
- 车速对道路交通安全影响分析.doc
- 转变观念是发展的必然.doc
- 转向原理.doc
- 转发集团公司调整邮政特快专递业务资费分区与标准的通知.doc
- 转动设备复习题.doc
- 转向节的结构设计与强度分析开题报告.doc
- 转向英文名词.doc
- 轨道车辆用金属橡胶复合轴箱弹簧的蠕变.doc
- 2025年铜仁职业技术学院单招语文测试模拟题库附答案.docx
- 2025年青海省黄南藏族自治州单招语文测试题库附答案.docx
- 2025年浙江师范大学行知学院单招语文测试题库最新.docx
- 2025年黑龙江省黑河市单招(语文)测试题库附答案.docx
- 2025年福建省南平市单招(语文)测试模拟题库附答案.docx
- 2025年大连职业技术学院单招(语文)测试模拟题库最新.docx
- 2025年黑龙江省伊春市单招语文测试模拟题库附答案.docx
- 2025年昆明工业职业技术学院单招(语文)测试模拟题库附答案.docx
- 2025年新疆农业职业技术学院单招(语文)测试题库最新.docx
- 2025年运城幼儿师范高等专科学校单招(语文)测试模拟题库最新.docx
文档评论(0)