• 计算机图形学——窗口到视口的变换


    一、窗口和视口

    世界坐标系中要显示的区域(通常在观察坐标系内定义)称为窗口

    窗口映射到显示器(设备)上的区域称为视口(或称视区)

    窗口定义显示什么;视口定义在何处显示

    世界坐标系中的一个窗口可以定义对应于多个视口

    如何将窗口内的图形在视口中显示出来呢?

    必须经过将窗口到视口的变换处理,这种变换就是观察变换(Viewing Transforma)。

    二、观察变换

    1、变焦距效果

    当窗口变小时,由于视口大小不变,就可以放大图形对象的某一部分,从而观察到在较大的窗口时未显示出的细节。

    而当窗口变大,视口不变时,视口内显示的内容不断变小。

    类似于照相机的变焦处理。

    2、整体缩放效果

    当窗口大小不变而视口大小发生变化时,得到整体放缩效果。这种放缩不改变观察对象的内容。

    如果把一个固定大小的窗口在一幅大图形上移动,时空不变,会产生什么效果?

    漫游效果!

    三、窗口到视口的变换

    为了全部、如实地在视口中显示出窗口内的图形对象,就必须求出图形在窗口和失去键的映射关系。

    需要根据用户所定义的参数,找到窗口和视口之间的坐标对应关系。

     

     这个保持比例的性质使得这个映射有线性形式:

    A看做放大x的部分,B看做常数。

    C看做放大y的部分,D看做常数。

     

    四、练习题

    下列有关窗口和视区的论述中,正确的是:

    A 局部坐标系中要显示的区域称为窗口

    B 窗口和视区是一一对应关系

    C 窗口到视区的映射是一个"保持比例"的映射

    D 视区大小不变,当窗口变小时,映射到视区的物体也会相应变小

    窗口是世界坐标系内要显示的区域

    一个窗口可能有多个视区对应

    视区大小不变,窗口变小,映射到视区的物体会变大。

  • 相关阅读:
    LF.25.K Smallest In Unsorted Array
    LC.102. Binary Tree Level Order Traversal
    LF.236.Search Insert Position
    发生错误 1069 sqlserver
    manualresetevent的用法学习
    xml selectnodes
    Flask 路由 , 初始化 , 配置Config , 蓝图BluePrint , 装饰器
    Python垃圾回收机制
    Odoo 动作Action
    Odoo 权限简介
  • 原文地址:https://www.cnblogs.com/wkfvawl/p/11745248.html
Copyright © 2020-2023  润新知