计算机图形学:考题预测

绘图工具

窗口到视口的变换,(x,y)→(sx,sy)(Wl,Wr,Wb,Wt)→(Vl,Vr,Vb,Vt)

sx=Ax+C,sy=By+D,Vl=AWl+C,Vr=AWr+C,A=(Vr-Vl)/(Wr-Wl),C=Vl-AWl=(WrVl-WlVr)/(Wr-Wl)

宽高比:if world aspect ratio R>W/H,viewport(0,W,0,W/R)else viewport(0,H✖️R,0,H)

Cohen-Sutherland 裁剪算法

do{
    形成p1,p2的码字(e.g. FTFT)
    if 平凡接受 return 1(case FFFF && FFFF)
    if 平凡拒绝 return 0(case p1 and p2 has same T)
    将线段在下一个窗口处阶段(最多循环4次,在4个边界处截断:根据比例关系重新计算 x 值或 y 值)
}while(1);

计算机图形学:考题预测_第1张图片


向量工具

向量的点乘:求向量的夹角 cos θ

向量的叉乘:应用矩阵,计算向量之间的面积

∣ a − b ∣ 2 = ∣ a ∣ 2 − 2 a ⋅ b + ∣ b ∣ 2 |a-b|^2=|a|^2-2a·b+|b|^2 ab2=a22ab+b2

向量的分解:c=k·v+m·v⊥,同乘 v 或 v⊥,得到 k=c·v/v·v,m=c·v⊥/v⊥·v⊥,distance=m·v⊥

向量的反射:r-a=2(-a·n)·n → r=a-2(a·n)·n

点的任意仿射组合是一个合理的点,E=fP+gR(f+g=1),证明:坐标系平移 u 后,E’=E+u=fP+gR+(f+g)u

点与向量的和与点的仿射组合等价:P=A+t(B-A)== P=tB+(1-t)A

直线:l(t)=C+b·t,fx+gy=1,n·(R-C)=0

平面:p(s,t)=C+s·a+b·t,p(s,t)=sA+tB+(1-s-t)C

判断平面多边形的凸性:所有相邻边向量的叉乘都指向平面的内侧或外侧

判断点Q是否在凸多边形内:对凸多边形每个点Pi,(Q-Pi)·ni<0

凸多边形和线段的裁剪算法:enter:t-in=max(t-in,t-hit),exit:t-out=min(t-out,t-hit)

线性插值:lerp(a,b,t)= a +(b-a)t = a(1-t)+ bt


矩阵工具

矩阵求逆:增广矩阵A|E通过初等(行)变换,代数余子式转置得伴随矩阵 A*:aij=Mji/|M|

矩阵分块求逆: 「 A 、 b ∣ − 1 「 A − 1 、 − A − 1 ⋅ b ∣ 「A、 b | ^{-1} 「A^{-1}、 -A^{-1}·b| Ab1A1A1b

矩阵分块求逆: ∣ 0 、 1 」 → ∣ 0 、 1 」 |0、 1」 → |0 、 1 」 0101

正交矩阵:各行(列)相互正交 == A T = A − 1 A^T=A^{-1} AT=A1


仿射变换

基本仿射变换:平移,旋转(c,-s,0;s,c,0;0,0,1),放缩,剪切,逆变换

仿射变换组合

绕任一点旋转(平移 - 的点左边,旋转,平移回去)

关于过原点直线的反射(旋转角度到 x 轴,关于 x 轴反射:即 【1,-1】的缩放,旋转回去)

仿射变换的性质:证明的话针对每一种基本仿射变换证明

保持点的仿射组合

保持共线和共面的关系

保持直线和平面的平行性

矩阵的列揭示了变换后的坐标系

保持相互比例

经矩阵 M 仿射变换后面积为原来的 |det M| 倍

每一个仿射变换都由基本仿射变换组成

三维仿射变换关于某一坐标轴的旋转(y-roll:c,s;-s,c)

关于任意轴的旋转(欧拉定理:关于某个点的任何旋转等价于绕通过此点的某个轴的单一旋转)

经典方法:先变换到某一坐标轴,基本旋转,逆变换,Ru(ß)=Ry(-θ)Rz(φ)Rx(ß)Rz(-φ)Ry(θ)

构造性方法:找出旋转轴和旋转角度

计算机图形学:考题预测_第2张图片

坐标系变换:(i’,j’,k’)= M(i,j,k)(a,b,1)= M(c,d,1)due to ai=ci’=cMi


相机

根据up、eye、look 计算 n、u、v,归一化!!!

计算机图形学:考题预测_第3张图片

世界坐标到相机坐标的转换矩阵

计算机图形学:考题预测_第4张图片

移动摄像机:eye+=u+v+n,look+=u+v+n,up 不变

旋转摄像机:u’= cos(α)u + sin(α)v、v’= -sin(α)u + cos(α)v


透视投影

点的透视投影:(x*,y*)=(NPx/(-Pz),NPy/(-Pz))

证明:通过从原点到 P 点的光线和视平面的交点 A

光线 t=0 在原点,t=1 在 P 点,参数方程为 r(t)= Pt

Pt0=A,Pzt0=Az=-N,t0=-Pz/N

直线的透视投影:P(t)= A+ct,P(t)=(N(Ax+cxt)/(-Az-czt),N(Ay+cyt)/(-Az-czt))

证明!!!

若直线平行于视平面:cz=0,P(t)= N/-Az(Ax+cxt,Ay+cyt)

若直线不平行于视平面:P(无穷)=(Ncx/-cz,Ncy/-cz)(直线的灭点)

增加伪深度:(x*,y*,z*)=(NPx/(-Pz),NPy/(-Pz),(aPz+b)/-Pz)

从 N 到 F,伪深度从-1到1,所以 a= -(F+N)/(F-N),b= -2FN/(F-N)

使用齐次坐标

计算机图形学:考题预测_第5张图片

透视变换和正交投影

计算机图形学:考题预测_第6张图片

透视变换的几何性质

通过视点的直线被映射为平行于 z 坐标轴的直线

证明:这种直线上的所有点都被映射为视平面上的同一点(x*,y*),z* 取遍-1到1

与 z 坐标轴垂直的直线映射后依然垂直于 z 坐标轴

证明:这种直线上的点具有相同的 z 值,所以映射后也有相同的伪深度值

透视矩阵:平移(-(l+r)/2,-(b+t)/2)缩放(2/(r-l),2/(t-b))

计算机图形学:考题预测_第7张图片

使用正则视景体 CVV 对面片进行裁剪 AC:A+(C-A)t

以 x=-1 为例:ax/aw>-1 即 BCo= ax+aw>0

直线在内,平凡接受:两个端点都在 CVV 内,12个 BC 值为正

直线在外,平凡拒绝:两个端点都同一个平面外

计算相交 t 值,以 x=1 为例:(ax+(cx-ax)t)/(aw+(cw-aw)t),t=(aw-ax)/((ax-ax)-(cw-cx))

视口变换:照相机宽高比(近平面宽高比) → 正则宽高比(1.0) → 视口宽高比


纹理映射

为什么不能线性插值:投影后面片上相等的间隔并不对应于三维面片上相等的间隔(近大远小)

计算机图形学:考题预测_第8张图片

计算机图形学:考题预测_第9张图片

颜色线性插值

计算机图形学:考题预测_第10张图片


曲线设计

德卡斯特里奥算法

三点: F ( u ) = ( 1 − u ) 2 P 0 + 2 u ( 1 − u ) P 1 + u 2 P 2 F(u)=(1-u)^2 P0 + 2u(1-u)P1 + u^2 P2 Fu=1u2P0+2u1uP1+u2P2

四点: F ( u ) = ( 1 − u ) 3 P 0 + 3 u ( 1 − u ) 2 P 1 + 3 u 2 ( 1 − u ) P 1 + u 3 P 3 F(u)=(1-u)^3 P0 + 3u(1-u)^2 P1 + 3u^2(1-u)P1 + u^3 P3 Fu=1u3P0+3u1u2P1+3u21uP1+u3P3


图形绘制管道

M:仿射变换

V:相机矩阵

Shade:着色

Perspective transformation:透视矩阵

clip:裁剪

Perspective division:透视除法

viewport:窗口到视口的映射

screen

计算机图形学:考题预测_第11张图片

每个顶点 V 附带着纹理对(s,t)和一个顶点法向 n。顶点通过模式视点矩阵变换,产生视点坐标系下的顶点 A 和法向 n’。计算着色时使用这个法向,产生颜色 c。顶点经过透视变换,产生 a~ =(a1,a2,a3,a4),纹理坐标和颜色 c 并没有改变。(裁剪后的点加上一个1计算出来的 1/a4 在计算双线性插值时使用)


附录

计算机图形学:考题预测_第12张图片

计算机图形学:考题预测_第13张图片

计算机图形学:考题预测_第14张图片

计算机图形学:考题预测_第15张图片

计算机图形学:考题预测_第16张图片

计算机图形学:考题预测_第17张图片

计算机图形学:考题预测_第18张图片

计算机图形学:考题预测_第19张图片

计算机图形学:考题预测_第20张图片

计算机图形学:考题预测_第21张图片

计算机图形学:考题预测_第22张图片

计算机图形学:考题预测_第23张图片

计算机图形学:考题预测_第24张图片

计算机图形学:考题预测_第25张图片

计算机图形学:考题预测_第26张图片

计算机图形学:考题预测_第27张图片

计算机图形学:考题预测_第28张图片

计算机图形学:考题预测_第29张图片

计算机图形学:考题预测_第30张图片

计算机图形学:考题预测_第31张图片

你可能感兴趣的:(考试攻略,计算机视觉)