二维观察
一、裁剪窗口
裁剪窗口:所有在此区域以外的场景都要裁去。
从二维世界坐标到设备坐标系的映射称为二维观察变换,有时也称窗口到视口的变换或窗口变换。
通过建立二维观察坐标参考系来裁剪指定的窗口。
二维观察变换的流水线:
--MC-->使用建模坐标变换构造世界坐标系场景 --WC--> 将世界坐标转换为观察坐标--VC-->将观察坐标转换为规范化设备坐标--NC-->将规范化设备坐标映射到设备坐标--DC-->
观察坐标系裁剪窗口
选择世界坐标系作为观察坐标的原点,使用世界坐标系的向量V作为观察坐标系y轴的方向,向量V称为二维观察向上向量,通过第二维平移跟旋转,将两个坐标系重合。
裁剪窗口到规范化视口的映射:
将窗口点视口点
保持相同位置满足
可得
二、裁剪算法(后面有时间补上)
Cohen-Sutherland线段裁剪算法:
梁友栋-Barsky线段裁剪算法:
Nicholl-Lee-Nicholl线段裁剪算法:
Sutherland-Hodgman多边形裁剪:
Weiler-Atherton多边形裁剪: