计算机图形学2.4-2.5.pptVIP

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机图形学2.4-2.5

* * 2.4.1 点阵式字符   点阵式字符将字符形状表示为一个矩形点阵,由点阵中点的不同值表达字符的形状。   使用点阵式字符时,需将字库中的矩形点阵复制到缓冲器中指定的单元中去。在复制过程中,可以施加变换,以获得简单的变化。 图2.11(b)~(d)列出了以字母P为原型的一些变化例子。 图2.11 点阵式字符及其变化 矩阵中的每个元素都是一位二进制位。 ( 1 :字符颜色; 0 :背景颜色) 算法如下: Writechar(x0,y0,value) Int x0,y0,value; { for (j=0;j=ymax;j++) for(i=0;i=xmax;i++) if(mask(i,j) 0) set_pixel(x0+i;y0+j;value); else set_pixel(x0+i;y0+j;background); } 2.4.2 矢量式字符   矢量式字符将字符表达为点坐标的序列,相邻两点表示一条矢量,字符的形状便由矢量序列刻画。图2.12示出用矢量式表示的字符“B”。“B”是由顶点序列{a, b, c, d, e, f, e, g, h, i, j, k,j, a, l}的坐标表达。 图2.12 矢量式表示字符“B” 2.4.3 方向编码式字符   方向编码式字符用有限的若干种方向编码来表达一个字符。   图2.14(a)示出字母“B”的方向矢量构成。这样,“B”就表示为8方向编码{0000123444000123444406666}。 方向编码式字符很容易被填入帧暂存寄存器中予以显示(图2.14(b)),方向编码所占的空间比较小,它也能接受一些特定的变换操作。 图2.13 字符的8方向编码 图2.14 方向编码式字符的实例 2.4.4 轮廓字形技术   直接使用点阵式字符方法将耗费巨大的存储空间。   压缩方法有多种,最简单的有黑白段压缩法。另一种方法是部件压缩法。三是轮廓字形法,这种方法压缩比大,且能保证字符质量,是当今国际上最流行的一种方法。   轮廓字形法采用直线、或者二次Bezier曲线、三次Bezier曲线的集合来描述一个字符的轮廓线。轮廓线构成一个或若干个封闭的平面区域。轮廓线定义和一些指示横宽、竖宽、基点、基线等的控制信息,就构成了字符的压缩数据。   在计算机图形学中常常会遇到求交计算。求交运算是比较复 杂的,为了减少计算量,在进行真正的求交计算之前,往往先用 凸包等辅助结构进行粗略地比较,排除那些显然不相交的情形。   容差 求交问题可以分为两类:              求交点 求交线 2.5.1 求交点算法 求交点可以分两种情况,即求线与线的交点以及求线与面的交点。 ⒈ 直线段与直线段的交点 假设两条直线的端点分别为P1、P2和Q1、Q2,则直线可以用向量形式表示为 P(t) = A + Bt, 0≤t≤1 Q(s) = C + Ds, 0≤s≤1 其中,A=P1,B=P2?P1,C=Q1,D=Q2?Q1。构造方程 A + Bt = C + Ds (2.9) 对三维空间中的直线段来说,上述方程组实际上是一个二元一次方程组, 由3个方程式组成。可以从其中两个解出s、t,再用第三个验证解的有效性。 当所得的解(ti, si)是有效解时,可用两个方程之一计算交点坐标,例如 P(ti)=A+Bti。 2.5.1 求交点算法(续)  根据向量的基本性质,可直接计算s与t。对方程(2.9)两边构造点积得        (C?D) · (A+Bt) = (C?D) · (C+Ds)  由于C?D同时垂直于C和D,等式右边为0。故有 类似地有 2.5.1 求交点算法(续)  2. 直线段与平面的交点 图2.15 线段与平面求交 平面上的点表示为P(u, w)=A+uB+wC,直线段上的点表示为Q(t)=D+tE,二者的交点记为R。 假设线段不平行于平面,则它们交于 R=P(u, w)=Q(t), 即  A+uB+wC = D+tE 等式两边点乘(B?C),得    (B?C) · (A+uB+wC) = (B?C) · (D+tE) 由于B?C既垂直于B,又垂直于C,故有    (B?C) · A = (B?C) · (D+tE) 2.5.1 求交点算法(续)

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档