- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
反走样技术的研究与实现.doc
反走样技术的研究与实现 nbsp;有些反走样方法把像素当作是数学上的一个点,像素颜色反走样技术的研究与实现 是由对应于像素中心的图形中一点的颜色决定的;而区域取样认为像反走样技术的研究与实现 素不是一个点,而是一个有面积的区域,因此我们在区域取样时要计算直反走样技术的研究与实现 线段与像素相交区域的面积,然后根据相交区域面积来确定像素的亮度值。由反走样技术的研究与实现 于直线与像素相交的形式有三种,那么我们如何来判断直线与像素相交的形反走样技术的研究与实现 式呢?BRnbsp;BR图2.9nbsp;nbsp反走样技术的研究与实现 ; 区域取样示意图BR如图2.9所示,设直线段与某像素纵反走样技术的研究与实现 列相交区域下顶点的y坐标为yl,m为该直线的斜率,y5是扫描线反走样技术的研究与实现 y+0.5。如果yl+mgt;y5,则说明直线和像素的相交区域是由反走样技术的研究与实现 上中下三个相邻像素中的两个三角形和一个四边形组成,否则相交区域是反走样技术的研究与实现 由上下两个相邻像素中的两个梯形组成。然后计算出相交区域的面积就可以反走样技术的研究与实现 得到每个像素的亮度,从而达到反走样直线,而且反走样的效果也十分的反走样技术的研究与实现 好。BR综上所述,实现的算法如下:BRnbsp;BRv反走样技术的研究与实现 oid AreaSamplingLine(int xa, i反走样技术的研究与实现 nt ya, int xb, int yb)//将直线段的宽度理解为反走样技术的研究与实现 一个像素的宽度BR{ float m,b,nbsp;n反走样技术的研究与实现 bsp; // 设直线方程为: y = mx + bBRn反走样技术的研究与实现 bsp;nbsp;nbsp;nbsp;nbsp;nb反走样技术的研究与实现 sp;nbsp; l,nbsp;nbsp; // 直线段框与反走样技术的研究与实现 某像素纵列相交区域(平行四边形)的纵向边长BRnbsp;nb反走样技术的研究与实现 sp;nbsp;nbsp;nbsp;nbsp;nbsp;反走样技术的研究与实现 yl,nbsp; // 直线段框与某像素纵列相交区域(平反走样技术的研究与实现 行四边形)下顶点的y坐标BRnbsp;nbsp;nb反走样技术的研究与实现 sp;nbsp;nbsp;nbsp;nbsp; y5反走样技术的研究与实现 ,nbsp;nbsp;nbsp;nbsp; // 扫描线反走样技术的研究与实现 y+0.5BRnbsp;nbsp;nbsp;nbsp;反走样技术的研究与实现 nbsp;nbsp;nbsp; xl,nbsp;nbs反走样技术的研究与实现 p;nbsp;nbsp; // 直线段框与y-0.5线的交点B反走样技术的研究与实现 Rnbsp;nbsp;nbsp;nbsp;nbsp反走样技术的研究与实现 ;nbsp;nbsp; xu,nbsp;nbsp;反走样技术的研究与实现 nbsp;nbsp; // 直线段框与y+0.5线的交点BR反走样技术的研究与实现 nbsp;nbsp;nbsp;nbsp;nbsp;nb反走样技术的研究与实现 sp;nbsp; sl,nbsp;nbsp;nbsp;n反走样技术的研究与实现 bsp; // 下方像素中的三角形(或梯形)的面积BRnbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; su;nbsp;nbsp;nbsp;nbsp; // 上方像素中的三角形面积BRnbsp; boolean is3part;BRnbsp; int x;BRnbsp; m = (float)(yb-ya)/(xb-xa);nbsp; // 直线的斜率BRnbsp; b = ya-m*xa;nbsp;nbsp;nbsp;nbsp; // 截距BRnbsp; l = sqrt(1+m*m); //既是纵向边长,也是平行四边形的面积BRnbsp; xl = (ya-0.5-b+l/2)/m;nbsp;nbsp;nbsp;nbsp;nbsp; //xl的初值BRnbsp; xu = (ya+0.5-b-l/2)/m;nbsp;nbsp;nbsp;nbsp;nbsp; //xu的初值BRnbsp; yl = m*(xa-0.5) + b - l/2;nbsp; //yl的初值BRnbsp; PutPixel(xa,ya,127);BRnbsp; y5 = ya + 0.5;BRnbsp; for ( x=xa+1;xlt;xb;x++ ) {BRnbsp;nbsp;nbsp; yl=yl+m;BRnbsp;nbsp;nbsp; if (yl+m gt; y5) { //相交区域由上中下三个相邻像素中的两个三角形和一个四边形
文档评论(0)