计算机图形学期末总复习
第三章 Drawing Tools
一、窗口到视口变换
世界窗口上下左右分别用W.t、W.b、W.l、W.r描述
视口:V.t、V.b、V.l、V.r
窗口坐标系:x,y
视口坐标系:sx,sy
可以得到一个映射或变换:
sx = A * x + C
sy = B * y + D
其中A,B分别是x,y轴缩放比例,而C,D是平移量
对等式进行变换
得到:
二、线段裁剪
Cohen-Sutherland 裁剪算法
以矩形为例
将平面切分成九部分
四位位码分别代表:左,上,右,下
在左边则第一位为T,否则为F
平凡接受:两点位码都为FFFF,即线段位于窗口内部
平凡拒绝:两点位码有一位都为T,即两点位于窗口同一侧,位于窗口外部,且没有交点。
总结算法如下:
do
{
形成p1,p2的码字
if (平凡接受) return 1;
if (平凡拒绝) return 0;
else 线段被截断
}
得出交点纵坐标为:p1.y + (W.r - p1.x) * dely / delx
总结算法伪代码:
三、曲线
椭圆: