- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第12章 三维观察;12.1 三维变换流程 ;12.2 观察坐标;12.2.2 从世界坐标WC到观察坐标VC的变换;12.2.2 从世界坐标WC到观察坐标VC的变换;投影变换
将三维物体投影到二维观察平面上;12.3 投影变换;正投影;12.3.1 平行投影分类;投影方向垂直于投影平面
分类:
三视图(P343图12.18)
轴测正投影
等轴测投影;三视图;俯视图
投影平面为xy平面
投影变换矩阵
X=X
Y=Y
Z=0;轴测正投影:
产生形体的一个以上表面的正投影。
等轴测正投影
通过校准投影平面使它与形体的每一个坐标轴相交,且??原点保持相同距离
P344图12.19;投影方向与投影平面不垂直的平行投影。
在斜平行投影中,投影平面一般取坐标平面。
斜平行投影的公式推导;xp=x+Lcosφ
yp=y+Lsinφ
zp=0
其中:tan(a)=z/L
L=z/tan(a)=zL1
if(z=1) L1=ctan(a);xp=x+z(L1cosφ)
yp=y+z(L1sinφ)
zp=0;斜平行投影讨论;12.3.2 透视投影;12.3.2 透视投影;12.3.2 透视投影;12.3.2 透视投影特例;假设投影中心为(0,0,-d),投影平面为z=0
假设一点 P(x,y,z),其透视投影点为P(xp,yp,0)
透视投影线的方程为:x=x-xu y=y-yu z=z-(z+d)u
u?[0,1]
把z=0代入方程,
得u=z/(z+d)
则: xp= x*d/(z+d);
yp= y*d/(z+d)
zp=0;灭点
一组平行线投影后收敛于一点称之为灭点。
主灭点
物体中平行于某一坐标轴的平行线的灭点称为主灭点
在坐标系上的灭点称为主灭点。;透视投影按照主灭点数目分类
一点透视
二点透视
三点透视
如何控制主灭点数目?
利用投影平面的方向控制主灭点数目;三点透视
;12.3.2 透视投影;12.4 观察体和一般投影变换;投影窗口
也叫观察窗口
观察体(也叫视像框)
利用投影窗口边界来设置
观察体的作用
对三维物体进行裁剪
只有在观察体内的物体才会被投影到投影平面窗口内显示出来;观察体类型
无限型和有限型
无限型观察体;有限观察体
通过指定平行于投影平面的前、后平面来实现
作用:去掉离投影平面过近和过远的物体
类型有:
矩形平行六面体
斜平行六面体
棱台;正投影有限观察体为矩形平行六面体;透视投影有限观察体为棱台;12.4 观察体和一般投影变换;观察体调整
调整目的
调整的意义
计算、处理方便快捷
如何调整 ;观察体调整;窗口;COP(xprp,yprp,zprp);12.5 3D裁剪;三维裁剪的裁剪窗口
是一个六面体,
包括左侧面、右侧面、顶面、底面、前面和后面。;12.5 3D裁剪;平面方程剪裁法
平面方程:;方程判断:
将一条直线段的端点坐标代入边界平面方程中,
若 AX+BY+CZ+D0,则端点位于边界平面外;
若 AX+BY+CZ+D0 ,则端点位于边界平面内。;裁剪原则:
两个端点都在某一边界平面外的线段被裁剪掉;
两个端点都在所有边界平面内的线段被保留下来;
两个端点不满足上述条件,则计算直线与边界的交点:
由直线方程和平面方程联立得到交点;编码剪裁(cohen-sutherland算法)
思想:
同二维空间的直线CS裁剪算法
空间划分
编码:六位;12.5 三维裁剪;编码剪裁原则
C1==0C2==0 ? 保留
(C1C2)?0 ? 删除
(C1C2)==0 ? 求解直线与边界的交点
编码剪裁过程
编码
筛选(确定完全保留、删除情况)
求交点(循环检测,注意算法效率);小结:
本算法与二维算法一样。
优点在于简单,易于实现。
缺点:效率;参数方程剪裁
直线的两个端点P1(x1,y1,z1),P2(x2,y2,z2)
参数方程
x=x1+(x2-x1)u
y=y1+(y2-y1)u
z=z1+(z2-z1)u
u?[0,1];剪裁测试:
对各个坐标面分别测试
例: z=zvmin 可以求得:
u=(zvmin-z1)/(z2-z1)
根据U判断线段和剪裁面的关系
U1||U0 ? DELETE or SAVE
0U1 ? 计算交点;LB算法的扩展
考虑xwmin,xwmax , ywmin,ywmax ,
文档评论(0)