- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机图形学第章初步
简单 速度太慢 由于该算法割断了各像素之间的联系,孤立地考察各像素与多边形的内外关系,使得几十万甚至几百万个像素都要一一判别,每次判别又要多次求交点,需要做大量的乘除运算,花费很多时间。 4舍?还是5入? 当交点的 x 坐标值是小数时需进行舍入运算。 4连通区域也可理解成8连通区域,但是两者的边界不尽相同 边界表示的四连通区域种子填充算法 内点表示的四连通区域种子填充算法 边界表示的八连通区域种子填充算法 内点表示的八连通区域种子填充算法 void floodFill4(int x,int y,int newColor,int oldColor) { if (getpixel(x,y)==oldColor) { drawpixel(x,y,newColor) floodFill4(x+1,y, newColor,oldColor); floodFill4(x-1,y, newColor,oldColor); floodFill4(x,y+1, newColor,oldColor); floodFill4(x,y-1, newColor,oldColor); } } 在任意不间断区间中只取一个种子像素(不间断区间指在一条扫描线上一组相邻元素),填充当前扫描线上的该段区间;然后确定与这一区段相邻的上下两条扫描线上位于区域内的区段,并依次把它们保存起来,反复进行这个过程,直到所保存的每个区段都填充完毕。 初始化:堆栈置空。将种子点(x,y)入栈 出栈:若栈空则结束。否则取栈顶元素(x,y),以y作为当前扫描线 填充并确定种子点所在区段:从种子点(x,y)出发,沿当前扫描线向左、右两个方向填充,直到边界。分别标记区段的左、右端点坐标为xl和xr 确定新的种子点:在区间[xl,xr]中检查与当前扫描线y上、下相邻的两条扫描线上的像素。若存在非边界、未填充的像素,则把每一区间的最右(左)像素作为种子点压入堆栈,返回第(2)步 (3)像素着色模式 透明 当图案表的对应位置为1时,用前景色写像素,否则,不改变该像素的值 不透明 当图案表的对应位置为1时,用前景色写像素,否则,用背景色(图案背景色)写像素 本质:规定前景色与背景色的组合规则,如前景色优先、背景色优先、前景色与背景色的加权组合、或各种规则的组合。 假设 整型坐标系,直线段斜率0m1 对m>1,x、y互换 基本原理 确定最佳逼近于该直线的一组像素 按扫描线顺序,对这些像素进行写操作 使用最广泛 由误差项符号决定下一个象素取正右方像素还是右上方像素 基本思想 x方向递增一个单位 比较从理想直线到位于直线上方的像素的距离d2和相邻的位于直线下方的像素的距离d1 根据距离误差项的符号确定与理想直线最近的像素 y方向走步与否取决于d1-d2的值 取决于误差e值的大小 误差判断 当e≥0.5时,最接近P2(xi+1,yi+1), y方向走一步 当e0.5时,最接近 P1(xi+1,yi),y方向不走步 初值:e0= ?y/?x 为方便与0比较,设e=e-0.5 当e≥0时,最接近P2(xi+1,yi+1), y方向走一步 当e0时,最接近P1(xi+1,yi), y 方向不走步 e0= ?y/?x-0.5 设e=e×2?x,不影响判断的准确性 当e≥0时,最接近P2(xi+1,yi+1), y方向走一步 当e0时,最接近P1(xi+1,yi), y 方向不走步 e0=2?y - ?x 下一步误差的计算 当e≥0时,y方向走一步 e’=2?y/?x - 1 e’=e + 2?y - 2?x 当e0时,y方向不走步 e’=2?y/?x e’=e + 2?y 优点 整数运算,速度快 精度高 乘2运算可用移位实现,适于硬件实现 走样 用离散量(像素)表示连续的量(图形)而引起的失真,叫走样或混淆(aliasing) 光栅图形混淆现象 阶梯状边界; 图形细节失真; 狭小图形遗失: 实时动画时隐时现,产生闪烁 用于减少或消除走样现象的技术称为反走样 提高分辨率 区域取样 方法简单,但代价非常大。显示器的水平、竖直分辩率各提高一倍,则显示器的点距减少一倍,帧缓存容量则增加到原来的4倍,而扫描转换同样大小的图元却要花4倍时间。 而且它也只能减轻而不能消除锯齿问题 在确定像素的亮度等级时,既考虑子像素的多少,还应该考虑子像素的位置分布。 通常会给接近于像素区域中心的子像素更大的权。 因为这些子像素在确定像素的整体亮度中起更重要的作用。 图中示出了对3×3像素分割所采用的加权方案: 中心子像素的加权是角子像素的4倍,是其它像素的2倍; 对九个子像素的每个网格所计算出的亮
文档评论(0)