- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(3)生成透视投影图的方法 y z x p(x,y,z) d p(x,y,z) o 点的一点透视 如右图所示,假定投影中心在z轴上(z = -d处),投影面在面xOy上,与z轴垂直,d为投影面与投影中心的距离。现在求空间一点p(x,y,z)的透视投影p’(x’,y’,z’)点的坐标。 根据相似三角形对应边成比例的关系有: 于是有: 该过程写为变换矩阵形式为: 上式表明,求空间一点的透视投影时,可先将空间点的齐次坐标写成行矩阵,然后乘以透视变换矩阵,使之产生透视变形,再乘以向投影面投影的变换矩阵,就得到了点在画面上的投影。若假定r = 1/d,则上式还可写为: 若投影中心在无穷远处,则r = 1/d→0,上式变为平行投影。 由该矩阵还可以看出透视投影的特性:透视缩小效应,即三维物体透视投影的大小与物体到投影中心的距离成反比。这种效应所产生的视觉效果十分类似于照相系统和人的视觉系统。 3.3.1 二维图元输出 图元是图形软件用语组织和操作画面的基本素材。 常用图元有Line,Polyline,Text,Fillarea,Polymarker,Move,Cell Array,Circle. 图元命令包括:输出图元命令 图元性质定义命令 (1)Move (x,y) (2)Line(x,y) (3)Polyline(n,x_array,y_array) 3.3.1 二维图元输出 用户定义的二维图元的窗口区到视图区的输出过程如下所示: 应用程序得到的坐标(UC)?对窗口区进行裁剪(WC)? 窗口区到视图区的规格化变换(NDC)? 视图区的规格化坐标系到设备坐标系的变换(DC)? 调用基本图元生成算法在图形设备上输出图形 3.3.2 输出属性及其控制 ⒈ 图元的输出属性 1)直线的属性 (1)线类型 实线、虚线、点线、点划线 用位掩码来表示线型,若用32位掩码,线型就以32个象素为周期进行重复. if (位串[i%32]) drawpixel(x, y, color); 笔划长度与直线长度有关. 解决 可根据线的斜率来调整实心段和中间空白段的象素数目。 (2)线宽度 一、 直线线宽的处理 笔与刷子 线刷子 方形刷子 圆形刷子 棱形刷子 斜率在[-1,1]之间,用垂直刷子;否则用水平刷子 多边形填充法 线刷子和方刷子处理线宽 线刷子:垂直刷子、水平刷子 特点 实现简单、效率高。 斜线与水平(或垂直)线不一样粗。 当线宽为偶数个象素时,线的中心将偏移半个象素。 利用线刷子生成线的始末端总是水平或垂直的,看起来不太自然。 解决:添加“线帽(line cap)” 当比较接近水平的线与比较接近垂直的线汇合时,汇合处外角将有缺口 解决:斜角连接(miter join)、圆连接(round join)、斜切连接(bevel join) 方刷子 特点: 方刷子绘制的线条(斜线)比用线刷子所绘制的线条要粗一些 方刷子绘制的斜线与水平(或垂直)线不一样粗 方刷子绘制的线条自然地带有一个“方线帽” 3. 其它线宽处理方式 区域填充多边形填充法可产生宽度不同的线条. 改变刷子形状: 填充属性 区域填充属性选择包括颜色、图案和透明度。 3)字符属性(字型、色彩、大小、方向、轨迹) 4)符号属性(种类、色彩、大小) 2.属性的组合控制 3.属性的查询 3.3.2 输出属性及其控制 3.3.3 三维图元的输出 课外作业 第一章:1,4 第二章:1,9 第三章:2,9,10 第四章:3,5,8 课外作业提交时间:12月30日 注意 1.实习内容:利用二维变换矩阵实现几何变换. (先画一个多边形,对它进行平移、旋转、对称和变比操作,利用上次实习布置的画线算法) 实习时间:1月5,6日上课时间 三视图的特点是物体的一个坐标面平行于投影面,其投影能反映形体的实际尺寸。工程制图中常用三视图来测量形体间的距离、角度以及相互位置关系。 不足之处是一种三视图上只有物体一个面的投影,所以三视图难以形象地表示出形体的三维性质,只有将主、侧、俯三个视图放在一起,才能综合出物体的空间形状。 (1)三视图的计算 主视图、俯视图和侧视图是分别将三维物体对正面、水平面和侧面作正平行投影而得到的三个基本视图。显然,只要求得这种正平行投影的变换矩阵,就可以得到三维物体上任意点经变换后的相应点,有这些变换后的点即可绘出三维物体投影后的三视图。 具体计算步骤如下: a、确定三维物体上各点的位置坐标; b、引入齐次坐标,求出所作变换相应的变换矩阵; c、将所作变换用矩阵表示,通过运算求得三维物 体上各点(x,y,z)经变换后的相应点(x,y)或 (y,z); d
文档评论(0)