00对绘图窗口中所有的点pqnn012...1012...1pqnwidthnheight完成如下步骤。
○2令 maxmin/1xxxwidth maxmin/1yyyheight ○3利用下式从kkxy得到11kkxy计数kk1 22112kkkkkkxxypyxyq ○4计算22ttrxy 购买设计 QQ382540551 全套包括:开题报告论文源程序源代码答辩PPT万余套设计欢迎咨询选购价格最低质量最好 6 如果rM则转到步骤○5。
如果rM且maxtTime则转至步骤○3。
如果maxtTime转到步骤○5。
○5对点pqnn着色转至下一点步骤○1。
○6读完所有参数空间的点pq结束循环。
Mandelbrot集图形见图3.1.2。
2.4 分形图形着色方案 RGB色彩模式是工业界的一种颜色标准是通过对红R、绿G、蓝B三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的RGB即是代表红、绿、蓝三个通道的颜色这个标准几乎包括了人类视力所能感知的所有颜色是目前运用最广的颜色系统之一。
目前的显示器大都是采用了RGB颜色标准目前的电脑一般都能显示32位颜色约有一百万种以上的颜色。
在数字视频中对 RGB 三基色各进行 8 位编码就构成了大约16.7万种颜色这就是我们常说的真彩色。
我们对分形图形进行着色也使用这种色彩模型。
颜色设置我们根据逃逸时间算法的循环次数来给分形图着色假定k为循环次数也就是上面所说的逃逸时间time为颜色锐化值m_nRedm_nGreenm_nBlue为RGB的初始值有如下结果 k time red k m_nGreen green k m_nBlue blue k m_nRed 下面对求得的redgreenblue三个值进行变换。
因为程序绘图时使用24位真彩色所以RGB三个值的大小都不应该超过8位的最大值即255而这个8位的最大值用16进制表示就是0xFF。
如果RGB中的任何一个值大于0xFF就对其进行0xFF的位运算。
然后再将根据上述步骤求得的R、G、B用函数RGBRGB换成色彩从而实现对Julia集的着色。
用计算机语言来表示就是这样 if red amp 0x1FF gt 0xFF 购买设计 QQ382540551 全套包括:开题报告论文源程序源代码答辩PPT万余套设计欢迎咨询选购价格最低质量最好 7 red red 0x1FF if green amp 0x1FF gt 0xFF green green 0x1FF if blue amp 0x1FF gt 0xFF blue blue 0x1FF 上面的redgreenblue分别表示RGB颜色模型中的RGB。
redgreenblue与0x1FF进行amp运算表示取这三个值的最低九个位amp运算在这里表示按位与运算符它对运算符两边的数字的每一个位进行计算如果两个位都为1的话那么运算结果就为1否则为0。
运算在这里表示按位异或运算符它对运算符两边的数字的每一个位进行计算如果两个位不同的话那么运算结果就为1否则为0。
这个算法主要是为了平滑分形图形的色彩变化让图形看起来更有美感。
2.5 Julia集与Mandelbrot集图形的矢量变换 1 Julia集与Mandelbrot集的矢量移动在逃逸时间算法中一共有两个窗口一个是绘图窗口一个是参数窗口其中绘图窗口的大小与位置相对来说是固定的因为它对应的是窗口的分辨率。
实际上Mandelbrot集是将参数C走遍参数窗口的所有值经过逃逸时间算法的运算最终在绘图窗口中画出图来那么参数窗口的大小和位置就决定了所绘Mandelbrot集的放大区域。
如果要对窗口中的图形进行移动我们可以选择使用移动参数窗口的方法来实现。
只要将鼠标移动的位置大小转换成参数窗口移动的位置大小就可以了。
令maxmin/1xxxwidthmaxmin/1yyyheightxMinyMinxMaxyMax代表参数窗口值oldPoint表示鼠标移动前的位置newPoint表示鼠标移动后的位置。
那么就可以得到如下式子 tmpDouble xMax - xMinxMin xMin - x newPoint.x - oldPoint.xxMax xMin tmpDoubletmpDouble yMax - yMinyMin yMin - y newPoint.y - oldPoint.yyMax yMin tmpDouble 购买设计 QQ382540551 全套包括:开题报告论文源程序源代码答辩PPT万余套设计欢迎咨询选购价格最低质量最好 8 经过实验证明这个方法对Julia集与Mandelbrot集都适用。
图形矢量移动前后效果对比参见图3.1.1与图3.1.8。
2 Julia集与Mandelbrot集的矢量放大:先说明对Mandelbrot集的放大Mandelbrot集是将参数C走遍参数窗口的所有值经过逃逸时间算法的运算最终在绘图窗口中画出图来由此可知参数窗口的大小和位置就决定了所绘Mandelbrot集的放大区域。
已知maxmin/1xxxwidthmaxmin/1yyyheightmintppxpmintqqyq其中012...1txn012...1tyn可以得出 minminppxpqqyq 从而可得 用计算机语言来描述就是 xMin xMin xoldPoint.xxMax tm.
上一篇:
毕业设计(论文)
下一篇:
土木工程专业毕业设计教学改革探讨