视频加载失败

课程

5782 字
约 17 分钟

《计算机图形学》雨课堂随堂测试 - CG-4 二维与三维几何变换

计算机图形学exercises/rainclass·更新于 2026-09-15

《计算机图形学》雨课堂随堂测试 - CG-4 二维与三维几何变换


一、 单项选择题

1. 点 PP 的齐次坐标为 (6,2,2)(6, -2, 2),其对应的普通坐标是: [ D ]

  • A. (6,2,1)(6,-2,1)
  • B. (3,1,1)(3,-1,1)
  • C. (6,2)(6,-2)
  • D. (3,1)(3,-1)

【解析】 在齐次坐标表示中,一个 nn 维向量由一个 n+1n+1 维向量表示。对于齐次坐标 (X,Y,W)(X, Y, W)(其中 W0W \ne 0),其对应的二维笛卡尔(普通)坐标为 (x,y)=(X/W,Y/W)(x, y) = (X/W, Y/W)。 本题中 P(6,2,2)P(6, -2, 2),则对应普通坐标为 (6/2,2/2)=(3,1)(6/2, -2/2) = (3, -1)。因此选 D。

2. 将下图所示四边形 ABCDABCD 绕点 P(5,4)P(5,4) 逆时针旋转 4545^\circ,涉及到三个变换矩阵,则三个矩阵复合的顺序是? [ C ]

四边形旋转示意图 1 四边形旋转示意图 2
  • A. T(5,4)R(45)T(5,4)T(-5, -4)R(45^\circ)T(5, 4)
  • B. R(45)T(5,4)T(5,4)R(45^\circ)T(-5, -4)T(5, 4)
  • C. T(5,4)R(45)T(5,4)T(5, 4)R(45^\circ)T(-5, -4)
  • D. T(5,4)T(5,4)R(45)T(5, 4)T(-5, -4)R(45^\circ)

【解析】 绕任一非原点 P(xp,yp)P(x_p, y_p) 进行旋转,需经历以下步骤:

  1. 平移图形,使点 PP 与坐标原点重合,平移矩阵为 T(xp,yp)=T(5,4)T(-x_p, -y_p) = T(-5, -4)
  2. 以原点为中心旋转指定角度,旋转矩阵为 R(45)R(45^\circ)
  3. 反向平移,使原点移回点 PP 的位置,平移矩阵为 T(xp,yp)=T(5,4)T(x_p, y_p) = T(5, 4)。 当使用列向量表示点坐标时,变换矩阵与坐标相乘是从右向左生效的:P=T(5,4)R(45)T(5,4)PP' = T(5, 4) \cdot R(45^\circ) \cdot T(-5, -4) \cdot P。 复合后的变换矩阵即为 T(5,4)R(45)T(5,4)T(5, 4)R(45^\circ)T(-5, -4)。因此本题选 C。

3. 将下图所示四边形 ABCDABCD 绕点 P(5,4)P(5,4) 逆时针旋转 4545^\circ 的代码是: [ A ]

旋转代码对应图
  • A.
    glLoadIdentity();
    glTranslatef(5, 4, 0);
    glRotatef(45, 0.0f, 0.0f, 1.0f);
    glTranslatef(-5, -4, 0);
    DrawQuadrangle();
  • B.
    glLoadIdentity();
    glTranslatef(-5, -4, 0);
    glRotatef(45, 0.0f, 0.0f, 1.0f);
    glTranslatef(5, 4, 0);
    DrawQuadrangle();

【解析】 在 OpenGL 中,当前的绘图变换矩阵是按照代码中变换命令调用的“相反顺序”(即右乘原则)对绘制顶点进行复合作用的。 要实现的数学变换矩阵为:T(5,4)R(45)T(5,4)T(5, 4) \cdot R(45^\circ) \cdot T(-5, -4)。 根据反向原则,在代码中应依次先调用 glTranslatef(5, 4, 0),再调用 glRotatef(45, ...),最后调用 glTranslatef(-5, -4, 0)。 这样 OpenGL 最终生成的矩阵就是 T(5,4)R(45)T(5,4)T(5, 4) \cdot R(45^\circ) \cdot T(-5, -4)。因此 A 选项正确。

4. 如下图所示,欲使 OBOBXX 轴旋转至 XOZXOZ 坐标平面内,旋转角度应为多少? [ C ]

三维旋转示意图
  • A. AOB\angle AOB
  • B. EOB\angle EOB
  • C. EOB\angle EOB'
  • D. AOB\angle AOB'

【解析】 绕 X 轴旋转时,所有点的 X 坐标保持不变,而 Y、Z 坐标发生旋转。 欲使线段 OBOB 旋转到 XOZXOZ 平面,也就是要使其在 YOZYOZ 平面上的投影像绕坐标原点旋转至 Z 轴(OEOE)。 设 OBOBYOZYOZ 平面上的投影为 OBOB',那么需要旋转的角度即为 OBOB' 与 Z 轴(OEOE)的夹角,即 EOB\angle EOB'。因此选 C。

5. 在三维旋转变换中,关于 XX 轴旋转 9090^\circ 时变换特点描述正确的是什么? [ A ]

  • A. y=zy' = -z
  • B. y=zy' = z
  • C. yy 坐标不变
  • D. x,y,zx, y, z 坐标都不变

【解析】 绕 X 轴逆时针旋转角度 θ\theta 的三维变换公式为: x=xx' = x y=ycosθzsinθy' = y\cos\theta - z\sin\theta z=ysinθ+zcosθz' = y\sin\theta + z\cos\thetaθ=90\theta = 90^\circ 时,cos90=0\cos 90^\circ = 0sin90=1\sin 90^\circ = 1。 代入公式得:y=y(0)z(1)=zy' = y(0) - z(1) = -zz=y(1)+z(0)=yz' = y(1) + z(0) = y。 故 y=zy' = -z。选 A。


6. 空间四面体 ABCDABCD 几何变换关于点 S(2,2,2)S(-2, 2, 2) 整体放大 2 倍的变换矩阵为: [ B ]

  • A. [1002010200120001][1000010000100002][1002010200120001]\begin{bmatrix} 1 & 0 & 0 & -2 \\ 0 & 1 & 0 & 2 \\ 0 & 0 & 1 & 2 \\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 2 \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 & 2 \\ 0 & 1 & 0 & -2 \\ 0 & 0 & 1 & -2 \\ 0 & 0 & 0 & 1 \end{bmatrix}
  • B. [1002010200120001][1000010000100001/2][1002010200120001]\begin{bmatrix} 1 & 0 & 0 & -2 \\ 0 & 1 & 0 & 2 \\ 0 & 0 & 1 & 2 \\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1/2 \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 & 2 \\ 0 & 1 & 0 & -2 \\ 0 & 0 & 1 & -2 \\ 0 & 0 & 0 & 1 \end{bmatrix}
  • C. [1002010200120001][1000010000100002][1002010200120001]\begin{bmatrix} 1 & 0 & 0 & 2 \\ 0 & 1 & 0 & -2 \\ 0 & 0 & 1 & -2 \\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 2 \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 & -2 \\ 0 & 1 & 0 & 2 \\ 0 & 0 & 1 & 2 \\ 0 & 0 & 0 & 1 \end{bmatrix}
  • D. [1002010200120001][2000020000200001][1002010200120001]\begin{bmatrix} 1 & 0 & 0 & 2 \\ 0 & 1 & 0 & -2 \\ 0 & 0 & 1 & -2 \\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} 2 & 0 & 0 & 0 \\ 0 & 2 & 0 & 0 \\ 0 & 0 & 2 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 & -2 \\ 0 & 1 & 0 & 2 \\ 0 & 0 & 1 & 2 \\ 0 & 0 & 0 & 1 \end{bmatrix}

【解析】 关于任一点 S(xs,ys,zs)=S(2,2,2)S(x_s, y_s, z_s) = S(-2, 2, 2) 的整体比例变换,其变换顺序为:

  1. 先将 SS 移到原点,变换矩阵为右侧的平移矩阵 T(2,2,2)T(2, -2, -2)[1002010200120001]\begin{bmatrix} 1 & 0 & 0 & 2 \\ 0 & 1 & 0 & -2 \\ 0 & 0 & 1 & -2 \\ 0 & 0 & 0 & 1 \end{bmatrix}
  2. 在原点进行整体缩放。在 4x4 齐次坐标变换矩阵中,右下角的元素 ss 对应的是整体缩放。对于点 [x,y,z,1]T[x, y, z, 1]^T,乘上右下角为 1/21/2 的矩阵后变为 [x,y,z,1/2]T[x, y, z, 1/2]^T,对应普通笛卡尔坐标的整体放大 2 倍(将各分量除以齐次分量 W=1/2W=1/2)。故中间的缩放矩阵为: [1000010000100001/2]\begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1/2 \end{bmatrix}
  3. 最后移回原点,变换矩阵为左侧的平移矩阵 T(2,2,2)T(-2, 2, 2)[1002010200120001]\begin{bmatrix} 1 & 0 & 0 & -2 \\ 0 & 1 & 0 & 2 \\ 0 & 0 & 1 & 2 \\ 0 & 0 & 0 & 1 \end{bmatrix} 根据矩阵复合顺序(右乘原则),整个复合变换矩阵为 T(2,2,2)S整体(2)T(2,2,2)T(-2, 2, 2) \cdot S_{\text{整体}}(2) \cdot T(2, -2, -2),即 B 选项的形式。

7. 下面哪项不是齐次坐标的特点? [ D ]

  • A. 用 n+1n+1 维向量表示一个 nn 维向量
  • B. 将图形的变换统一为图形 of the 坐标矩阵与某一变换矩阵相乘的形式
  • C. 易于表示无穷远点
  • D. 一个 nn 维向量的齐次坐标表示是唯一的

【解析】 齐次坐标中,nn 维空间中的点 (x1,x2,,xn)(x_1, x_2, \dots, x_n) 可以表示为 (hx1,hx2,,hxn,h)(hx_1, hx_2, \dots, hx_n, h)(其中 h0h \ne 0)。 由于 hh 可以取任意非零实数,同一个普通坐标点有无数个对应的齐次坐标表示,因此齐次坐标的表示是不唯一的。D 选项描述错误。本题选 D。

8. 经过三维几何变换,使得图 1 中的图形成为如图 2 所示的图形,其几何变换是什么? [ B ]

三维立方体几何变换图
  • A. 先沿 XX 轴方向平移 1 个单位,再绕 YY 轴逆时针旋转 4545^\circ
  • B. 先绕 YY 轴逆时针旋转 4545^\circ,再沿 XX 轴方向平移 1 个单位
  • C. 先沿 XX 轴方向平移 1 个单位,再绕 YY 轴顺时针旋转 4545^\circ
  • D. 先绕 YY 轴顺时针旋转 4545^\circ,再沿 XX 轴方向平移 1 个单位

【解析】 观察图形变换前后的状态:

  • 在图 1 中,立方体位于原点,各边缘平行于坐标轴。
  • 在图 2 中,立方体发生旋转并发生平移。注意到,立方体是“绕自身的 Y 轴”逆时针旋转了 45 度(其底面中轴线倾斜),且立方体的中心整体偏离了原点,向 X 轴正方向平移了 1 个单位。
  • 若先平移后旋转(如 A 选项),则旋转是绕原点 Y 轴进行的,立方体旋转后其中心将不再位于 X 轴上,而是处于斜向轨道。这与图 2 不符。
  • 正确的顺序是:先绕自身 Y 轴逆时针旋转 45 度,然后再沿 X 轴方向平移 1 个单位。因此本题选 B。

9. 空间四面体 ABCDABCD 关于 XX 轴进行对称变换的变换矩阵为: [ C ]

  • A. [1000010000100001]\begin{bmatrix} -1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}
  • B. [1000010000100001]\begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & -1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}
  • C. [1000010000100001]\begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & -1 & 0 & 0 \\ 0 & 0 & -1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}
  • D. [1000010000100001]\begin{bmatrix} -1 & 0 & 0 & 0 \\ 0 & -1 & 0 & 0 \\ 0 & 0 & -1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}

【解析】 三维空间中关于 X 轴进行反射(对称)变换时:

  • X 轴坐标保持不变,即 x=xx' = x
  • Y 轴和 Z 轴的坐标变反,即 y=yy' = -yz=zz' = -z
  • 对应的主对角线上的元素分别为 1,1,1,11, -1, -1, 1。这与 C 选项相符。

二、 填空题

10. 基本几何变换都是相对于______ 坐标原点 ______和坐标轴进行的几何变换。 (注:填 坐标原点原点)

【解析】 基本的二维和三维几何变换(如平移、旋转、放缩、错切等)在定义时均是相对于坐标原点和各自的坐标轴来进行矩阵描述的。如果是相对于任意其他参考点,必须先做平移使该点与原点重合,再进行基础变换,最后平移回原位。

Profile Image of the Author
Sonder
好想要技术
这是公告标题
这只是一个公告
分类
标签
站点信息
构建平台
GitHub Actions
博客版本
Firefly v6.16.7
文章许可
CC BY-NC-SA 4.0
文章目录