分形理论在计算机图形学中的应用毕业设计论文内容摘要:
green,blue 与 0x1FF 进行 amp。 运算表示取这三个值的最低九个位, amp。 运算在这里表示按位与运算符,它对运算符两边的数字的每一个位进行计算,如果两个位都为 1 的话,那么运算结果就为 1,否则为 0。 ^运算在这里表示按位异或运 算符,它对运算符两边的数字的每一个位进行计算,如果两个位不同的话,那么运算结果就为 1,否则为 0。 这个算法主要是为了平滑分形图形的色彩变化,让图形看起来更有美感。 Julia 集与 Mandelbrot 集图形的矢量变换 1, Julia 集与 Mandelbrot 集的矢量移动:在逃逸时间算法中,一共有两个窗口,一个是绘图窗口,一个是参数窗口,其中绘图窗口的大小与位置相对来说是固定的,因为它对应的是窗口的分辨率。 实际上, Mandelbrot 集是将参数 C 走遍参数窗口的所有值,经过逃逸时间算法的运算最终在绘图窗口中画出图 来,那么参数窗口的大小和位置就决定了所绘 Mandelbrot 集的放大区域。 如果要对窗口中的图形进行移动,我们可以选择使用移动参数窗口的方法来实现。 只要将鼠标移动的位置大小转换成参数窗口移动的位置大小就可以了。 令 m a x m i n( ) /( 1 )x x x w id th , m a x m in( ) /( 1 )y y y h e igh t ,xMin, yMin, xMax, yMax 代表参数窗口值, oldPoint 表示鼠标移动前的位置, newPoint 表示鼠标移动后的位置。 那么就可以得到如下式子: t m pDoubl e = xMa x xMi nxM i n = xMi n x * ( ne wP oi nt .x ol dP oi nt .x)。 xM a x = xMi n + t m pDoubl e。 t m pDoubl e = y Ma x y Mi n。 y Mi n = y Mi n y * ( ne wP oi nt .y ol dP oi nt .y )。 y Ma x = y Mi n + t m pDoubl e。 经过实验证明,这个方法对 Julia 集与 Mandelbrot 集都适用。 图形矢量移动前后效果对比参见图 与图。 2, Julia 集与 Mandelbrot 集的矢量放大 :先说明对 Mandelbrot 集的放理 学学士学位论文 第二章 分形 相关 理论 问题 8 大 ,Mandelbrot 集是将参数 C 走遍参数窗口的所有值,经过逃逸时间算法的运算最终在绘图窗口中画出图来,由此可知,参数窗口的大小和位置就决定了所绘 Mandelbrot 集的放大区域。 已知 m a x m i n( ) /( 1 )x x x w id th ,m a x m in( ) /( 1 )y y y h e igh t , min *tp p x p , min *tq q y q ,其中0,1, 2.. . 1txn, 0,1, 2... 1tyn,可以得出: minmin**p p x pq q y q 从而可得: 用计算机语言来描述就是: xMin = xMin + x* ol dP oint .x。 xMa x = tm pD oub l e + x* ne w P oint .x。 tm pD oub l e = y Min。 y Min = y Min + y * ol dP oint .y。 y Ma x = tm pD oub l e + y * ne w P oint .y。 这样我们只要将得到的 (xMin,yMin), (xMax,yMax)代替原来的参数窗口值就可以实现对窗 口的放大了。 Julia 集的放大原理与 Mandelbrot 集的放大原理相同,就不再赘述了。 图形的矢量放大前后效果对比见图 与图。 3, Julia 集的旋转: 由计算机图形学可知,在二维平面上按指定位置 rr(x,y) 旋转,需要经过三个步骤: 平移对象使移动点位置移到坐标原点。 绕坐标原点旋转。 平移对象使基准点回到其原始位置。 将其写成矩阵形式如下: 39。 39。 m in m in m in39。 39。 m in m in m inm a x m a x m a x39。 39。 m a x m a x m a x****p p x pq q x qp p x pq p x p 理 学学士学位论文 第二章 分形 相关 理论 问题 9 1 0 0 c os s i n 0 1 00 1 0 * s i n c os 0 * 0 10 0 1 0 0 1 0 0 1c os s i n ( 1 c os ) s i ns i n c os ( 1 c os ) s i n0 0 1rrrrxyxyyx 转换成式子如下: 39。 r r r39。 r r rx = x + ( x x ) * c o s ( y y ) * s iny = y + ( x x ) * s in + ( y y ) * c o s 将这个式子应用到 Julia 集绘制算法中,这里假定绕屏幕的中点旋转,屏幕的宽度为 width,高度为 height,用坐标表示为 (width/2, height/2),从前面绘制 Julia 集的方法中可知下列两个步骤: ○ 1 0 min *xx x n x , 0 m in *yy y n y 。 ○ 2 根据下列的迭代过程从 ( , )ttxy 算出 11( , )nnxy,计数 t=t+1。 2211 2t t tt t tx x y py x y q 这里只需要修改 ,xynn的值,所以可得: xx x yyte m p = nn = w idth /2 + ( n w idth /2) * c o s ( n h e igh t/ 2 ) * sinn = h e igh t/ 2 + ( te m p w idth /2) * sin + ( n y h e igh t/ 2 ) * c o s 再将获得的 ,xynn,进行 m in *txx x n x , m in *tyy y n y 的运算,得到新的,ttxy。 再将 ,ttxy进行下一步运算即可实现对 Julia 集的旋转。 图形的矢量旋转前后效果对比见图 与图。 4, 将 Julia 集压缩到 Mandelbrot 集的收敛区域,要将 Julia 集压缩到Mandelbrot 集收敛区域中, 需要先对前面绘制 Julia 集算法中提到的 ( , )nnxy进行 Mandelbrot 集算法变换,然后再进行 Julia 集算法变换。 又因为逃逸时间算法绘制 Julia 集和绘制 Mandelbrot 集的步骤都是一样的,差别只体现在步骤 ○ 3 ,即由 ( , )nnxy 计算出 11( , )nnxy这一步。 即要在前面提到的绘制Julia 集的计算机算法步骤 ○ 2 后面添加下列几步算法: ○ A 令 t1= 0x ,t2= 0x , i=0, t3=t4=0,N=10 进行如下循环。 ○ B 理 学学士学位论文 第二章 分形 相关 理论 问题 10 00t 3 = t 1 * t 1 t 2 * t 2 + x 0 .7t 4 = 2 * t 1 * t 2 + yt 1 = t 3t 2 = t 4 计数 i=i+1。 ○ C 如果 iN,返回步骤 ○ B ,否则 00x =t1,y =t2。 ○ D 返回值 00x,y ,回到算法步骤 ○ 3 继续进行运算。 算法的效果图参见图。 二维元胞自动机生成分形图 案 元胞分布在二维欧氏几何平面上规则划分的网格点上,则称它为二维元胞自动机。 为了使用二维元胞自动机绘图,假定有一个 aa 的网络,其左上角的格子为( 0,0),右下角的格子为( a1,a1),这样主要是为了对应计算机的屏幕坐 标。 且 每 个 格 子 的 初 始 状 态 均 为 0 ,即 F(x,y)=0 ,设0 0 0 0/ 2 , / 2 , ( , ) 1x a y a F x y ,将此网格的中心部分 00( , )xy 点为中心,将 00( , )xy以外的点分成若干层次,紧靠 00( , )xy 的 8 个点为第一层,紧靠第一层外面的 16点 为第二层,紧靠第二层外面的 24 个点为第三层,以此类推,一直到最外面一层。 此网格共有 a/2 层,设 k 为层数,从 k=1 到 k=a/2,进行如下循环: ○ 1 设第 k 层中任意点为 ( , )iixy ,则判断其临近 8 点的现有状态;如果 ( 1 , 1 ) ( , 1 ) ( 1 , 1 ) ( 1 , )( 1 , 1 ) ( , 1 ) ( 1 , 1 ) ( 1 , )i i i i i i i ii i i i i i iF x y F x y F x y F x yF x y F x y F x y F x y 奇 数 则 ( , ) 1iiF x y 否则 ( , ) 0iiF x y 当每一层中所有点判断完结后,进行下一步。 ○ 2 对 ( , ) 1iiF x y 的点着色。 ○ 3 k=k+1,返回到步骤 ○ 1 ,直至循环结束。 图形参见:图。 理 学学士学位论文 第二章 分形 相关 理论 问题 11 GumowskiMira 公式 1980 年 , 工作在 CERN 的物理学家 Gumowski, I. 和 Mira, C. 尝试计算模拟基本粒子轨迹 (The trajectories of elementary particles) 在加速器 (Accelerator) 中的行为。 他们使用了这组方程 : n+ 1 nn+ 1 n+ 1x = b * + f (x ) y = x + f (x ) ny 其中的函数 F(x)是他们所考虑的模型 , 其中一个主要的模型他们使用了 : f ( x) = a * + 2* ( 1 a ) * x* x/ ( 1+x* x) x 其中 a 是一个参数 , 通常在 1 和 1 之间 , b 是一个非常敏感的常数 , 通常非常接近于。 如果 b 有一个轻微增长到 , 轨迹会膨胀 , 或者螺旋向外至无限 ; 如果 b 有一个轻微的减小 , 比如 , 那么轨迹会收缩至奇异吸引子 (The attractor points)。 最后一个重要的影响因素是初始值 , 典型的初始值 X 和 Y 在 20和 20 之间。 下面是绘制 GumowskiMira 分形图的算法: ○ 1 假定 a=, b=, i=0, x=1, y=1。 ○ 2 进行计算: z = x。 x = b * y + w。 w = a * x + 2 * ( 1 a ) * x * x / ( 1 + u )。 y = w z。 i = i + 1。 ○ 3 如果 i1000, 对点 (x*20,y*20)着色,返回步骤 ○ 2。 如果 i 1000 , 结束循环。 图形参见:图。 分形图形的位图操作 1, 图形的保存:图形的保存可以分为三个步骤 ,先获取用户想要将图形保存为的文件名,然后再将当前客户区的图形拷贝成位图,最后将位图写入文件。 理 学学士学位论文 第二章 分形 相关 理论 问题 12 ○ 1 获取文件名可以使用 CFileDialog 类,初始化 CFileDialog 类后,使用类成员函数 DoModal()显示对话框。 然后使用类成员函数 GetFileName()就可以获得用户输入的文件名。 ○ 2 将当前客户区域拷贝为位图操作比较复杂,这里只能将其简略化后再加以描述。 要将当前客户区域拷贝为位图,需要先获取当前窗口的句柄。分形理论在计算机图形学中的应用毕业设计论文
相关推荐
租赁合同中的租赁费包括支付给业主的租金及相关的税、费等。 物业费、电梯使用费、空调使用费、采暖费、垃圾清运费等与房屋设施使用有关的费用(水、电、煤等)视不同物业情况在合同中分别注明计价方式。 房屋租赁费应取得合法、合规的税务发票;物业费等房屋使用费应取得相应发票或收据。 (四 )具体租赁费标准如下: 机构类别 租赁面积标准(建筑面积) 租 赁费标准(单位:元 /平方米 /月) 一类地区 二类地区
,主要是针对某些固定区域进行酒类产品的推广和销售。 主要的经营方式有通过各级分销商进行销售和通过各自有营业部进行批发与零售。 盛大酒业仓库管理的模式是将仓库作为一个中转的枢纽 ,通过数据统计了解各分销商和营业部的销售量 ,进货周期等因素来确定公司自身的进货周期 ,进货数量以确保库存量的最小化 ,降低管理成本。 所以在整个的销售模式中仓库占了一个很重要的位置
准批复 装修方案。 根据总公司批复,分支 机构 筹备组 以总公司《建筑装饰 工程 施工合同(范本)》(参见附件七)为蓝本, 与 装修公司 签订装修合同 , 实施装修工程。 分支机构筹备组指定专职责任人负责监督 装修工程进度与质量。 工程验 收: 按照《建筑装饰工程竣工验收报告》(参见附件八)有关要求进行验收。 其中, 20 万元以上的装修工程总公司会同分支机构对装修工程进行验收。 20
口薄、房产证明(无房产证明的提供村级以上的部门签署的房产证明)、户主身份证、户主银行卡。 第 五 条 承包方 义务 施工 过程 严格执行安全施工操作规范、防火规定、施工规范及质量标准,按期保质完成 系统安装。 严格执行有关施工现场管理的 规定,不得扰民及污染环境。 保证施工现场的整洁,工程完工后负责清扫施工现场。 第六条 工程变更 系统安装 项目及施工方式如需变更,双方应协商一致
出凭证》、《费用报销单》(附件 2)和《支出证明单》四类,《差旅费报销单》需注明出差人出差时间、行程和原因。 《付出凭证》、《费用报销单》和《支出证明单》需注明经手人、报销原因或用途, 7 4. 《差旅费报销单》适用于公司员工出差后报销的飞机、车、船费(包括市内交通费)、住宿费和其他费用开支的原始凭证。 5. 《费用报销单》适用于不需要办理差旅费手续的费用开支报销,包括:业务招待费、过桥费