(23)窗口视区变换
2017-01-01 15:57
281 查看
坐标系
1、世界坐标系(World Coordinate System,简称WC)1)世界坐标系是一个符合右手定则的直角坐标系。
2)世界坐标系用来定义用户在二维或三维世界中的物体,因此也称为用户坐标系。
3)世界坐标系是无限大且连续的,即它的定义域为实数域。
2设备坐标系(Device Coordinate System,简称DC)
1)图形输出设备(如显示器、绘图仪)自身都有一个坐标系称之为设备坐标系。
2)设备坐标系是一个二维平面坐标系,它的度量单位是步长(绘图仪)或像素(显示器)。
3)它的定义域是整数域且是有界的。例如,对显示器而言,分辩率就是其设备坐标系的界限范围。
3、规格化设备坐标系(Normalized Device Coordinate System,简称NDC)
1)为了便于图形处理,从而引入与设备无关的规格化设备坐标系,采用一种无量纲的单位代替设备坐标,当输出图形时,再转换为具体的设备坐标。
2)规格化设备坐标系的取值范围为:左下角(0.0, 0.0),右上角(1.0, 1.0)。
3)用户的图形数据经转换成规格化设备坐标系中的值,使应用程序与图形设备隔离开,增强了应用程序的可移值性。
窗口与视区
1、窗口在计算机中,窗口是图形的可见部分,是在用户坐标系中定义的用于确定显示内容的一个矩形区域,只有在该区域内的图形才能在设备坐标系下输出,而窗口外的部分则被裁掉
2、视区
1)视区是在设备坐标系(通常是屏幕)中定义的一个矩形区域,用于输出窗口中的图形。
2)视区决定了窗口中的图形要显示于屏幕上的位置和大小。
3)视区是一个有限的整数域,它应小于等于屏幕区域。可以在同一屏幕上定义多个视区,用来同时显示不同的图形。
在同一屏幕上定义了四个视区,分别代表一个机械零件的主视图,侧视图、俯视图和轴测图。
3、窗口-视区变换
由于窗口和视区在不同的坐标系中定义,因此,把窗口中的图形信息输出到视区之前,需要进行坐标变换,即把用户坐标系的坐标值转化为设备(屏幕)坐标系的坐标值,称这个变换过程为窗口-视区变换。
设在用户坐标系下定义的窗口为:左下角点坐标(Wxl , Wyb),右上角点坐标(Wxr , Wyt);在设备坐标系下定义的视区为:左下角点坐标(Vxl , Vyb),右上角点坐标(Vxr , Vyt)。
用户坐标系中的点(Xw , Yw) 映射到设备坐标系中的点(Xv , Yv),有下列等式:
因此,窗口中一点(Xw , Yw)变换到视区中的对应点(Xv , Yv),二者之间的关系为:
相关文章推荐
- python 读写文件
- SQL的四种连接-左外连接、右外连接、内连接、全连接
- MySQL 中间件 Mycat 安装与使用 - 读写分离
- 目录:WebService
- 如何让自己写的app可以保存数据
- oracle单机改变归档路径
- linux vi(vim)常用命令汇总
- JAVA_weB中的一些配置
- C++对象指针
- 凯利公式测试
- 2.Hibernate之联合主键
- 修复win7下安装centos7双系统后,没有win7启动项
- MySQL 中间件汇总比较
- Spring 通过Autowired 和 Context.getBean()方式拿到的不是同一个Bean
- 1006. Sign In and Sign Out
- 关于安全学习的一些思考
- 【android学习】onSaveInstanceState使用详解-之解决问题:android程序崩溃后,app异常
- 计算几何总结
- 02JSP脚本标识
- node+express+mysql 搭建一个多人博客