计算机图形学-基本图形的生成与显示.ppt

  1. 1、本文档共79页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机图形学-基本图形的生成与显示

* * * * * * * P(xi,yi) Pu(xi+1,yi) Pl(xi,yi-1) MⅠ(xi+1,yi-0.5) Pd(xi+1,yi-1)= Pr(xi+1,yi-1) 图 下半部分的中点 3.下部分算法推导 3.下部分算法推导 假定图中P(xi,yi)点是椭圆上半部分Ⅰ的最后一个像素,MⅠ(xi+1,yi-0.5)是用于判断点亮Pu和Pd像素的中点。 由于下一像素转入了下半部分Ⅱ,所以其中点改为判断 Pl 和 Pr 的中点 MⅡ(xi+0.5,yi-1) 椭圆弧下半部分的绘制公式 原理 3.下部分算法推导 判别方法: 若di≥0,取Pl(xi,yi-1) 若di0,取Pr(xi+1,yi-1) 3.下部分算法推导 判别公式: 误差项的递推 di≥0: 增量: 3.下部分算法推导 di0: 增量: 3.下部分算法推导 4.中点椭圆算法小结 第Ⅰ象限内椭圆弧的中点算法可以概括为:  算法实现 void CTestView::OnMidpointellispe() { CDC *pDC=GetDC(); int a=100,b=300,x,y,color=50; float d1,d2; x=0;y=b; d1=b*b+a*a*(-b+0.25); pDC-SetPixel(x,y,color); pDC-SetPixel(-x,-y,color); pDC-SetPixel(-x,y,color); pDC-SetPixel(x,-y,color); while(b*b*(x+1)a*a*(y-0.5)) { if(d1=0) { d1+=b*b*(2*x+3); x++; } else { d1+=b*b*(2*x+3)+a*a*(-2*y+2); x++; y--; } pDC-SetPixel(x,y,color); pDC-SetPixel(-x,-y,color); pDC-SetPixel(-x,y,color); pDC-SetPixel(x,-y,color); }/*while上半部分*/ d2=b*b*(x+0.5)*(x+0.5)+a*a*(y-1)*(y-1)-a*a*b*b; while(y0) { if(d2=0) { d2+=b*b*(2*x+2)+a*a*(-2*y+3); x++; y--; } else { d2+=a*a*(-2*y+3);y--; } pDC-SetPixel(x,y,color); pDC-SetPixel(-x,-y,color); pDC-SetPixel(-x,y,color); pDC-SetPixel(x,-y,color); } } * 用离散量表示连续量引起的失真,就叫做走样(Aliasing)。 反走样 图 绘制直线时的走样现象 反走样 产生原因: 数学意义上的图形是由无线多个连续的、面积为零的点构成;但在光栅显示器上,用有限多个离散的,具有一定面积的象素来近似地表示他们。 * * 走样现象: 一是光栅图形产生的阶梯形。 一是图形中包含相对微小的物体时,这些物体在静态图形中容易被丢弃或忽略,在动画序列中时隐时现,产生闪烁。 反走样 例子 图。 丢失细节与运动图形的闪烁 用于减少或消除这种效果的技术,称为反走样(antialiasing,图形保真)。 一种简单方法:硬件分辨率 图 分辨率提高一倍,阶梯程度减小一倍 软件反走样方法 空间混色原理 人眼对某一区域颜色的识别是取这个区域颜色的平均值。 过取样(supersampling),或后滤波 区域取样(area sampling),或前滤波 * * 过取样:在高于显示分辨率的较高分辨率下用点取样方法计算,然后对几个象素的属性进行平均得到较低分辨率下的象素属性。 反走样——过取样(super sampling) 简单过取样 在x,y方向把分辨率都提高一倍,使每个象素对应4个子象素,然后扫描转换求得各子象素的颜色亮度,再对4个象素的颜色亮度进行平均,得到较低分辨率下的象素颜色亮度。 图 简单的过取样方式 重叠过取样:为了得到更好的效果,在对一个像素点进行着色处理时,不仅仅只对其本身的子像素进行采样,同时对其周围的多个像素的子像素进行采样,来计算该点的颜色属性。 图 重叠过取样 基于加权模板的过取样: 前面在确定像素的亮度时,仅仅是对所有子像素的亮度进行简单的平均。 更常见的做法是给

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档