跳转到正文

几何变换计算器

输入一个点集或多边形的顶点,选择最多四个变换——平移、反射、旋转或位似——即可得到每个点的像、每一步以及整个序列的矩阵,并查看变换前后图形的对比图。30°、45° 和 90° 等标准角保持精确值。免费,无需注册,数据不会离开您的浏览器。

三个或更多点会按输入顺序连成多边形。

变换,按顺序依次应用

角度单位
第 1 步

以度为单位,例如 90 或 45。

方向

整数、小数或分数,例如 3/4。

结果

1

距离乘以

1

面积因子(行列式)

保持不变

朝向

3 → 3

多边形面积

各点的像

点原图像
A → A′(1, 1)(−1, 1)
B → B′(4, 1)(−1, 4)
C → C′(1, 3)(−3, 1)

变换矩阵

每一步都是作用于 (x, y, 1) 的 3 × 3 矩阵。矩阵从右向左相乘,因此第一步位于最右侧的因子。

组合矩阵
0−10
100
001

变换前后

在坐标平面上按比例绘制的原图(蓝色)及其像(橙色),反射直线以及旋转或位似的中心以绿色标出-4-2024024xyABCA′B′C′

蓝色为原图,橙色为最终的像,虚线轮廓为此前每一步之后的图形,绿色标出反射直线或中心。

如何使用几何变换计算器

  1. 1. 输入各点。 每行输入一组 x, y,最多十二组。三个或更多点会按输入顺序连成多边形。
  2. 2. 选择变换。 每一步都可以是平移、反射、旋转或位似,并有各自的设置:平移量、反射直线、旋转角度与中心,或比例因子与中心。
  3. 3. 需要时组合多个步骤。 最多可添加四个步骤,按所示顺序依次应用。图中的虚线轮廓显示此前每一步之后的图形。
  4. 4. 查看像、矩阵和图形。 表格列出每个点及其像;矩阵以数字形式表示变换;图形把原图叠加在结果之上。

四种刚性变换与相似变换

变换(x, y) 的规则保持不变的量
沿 (a, b) 平移(x + a, y + b)大小、形状与方向
关于 x 轴反射(x, −y)大小与形状;朝向反转
关于 y 轴反射(−x, y)大小与形状;朝向反转
关于 y = x 反射(y, x)大小与形状;朝向反转
绕原点旋转 θ(x cos θ − y sin θ, x sin θ + y cos θ)大小、形状与朝向
以原点为中心、比例 k 位似(kx, ky)形状;长度乘以 |k|,面积乘以 k²

绕其他中心或直线的变换由这些变换构成:先把中心移到原点,完成变换,再移回。

变换矩阵

平移不是线性变换,因此 2 × 2 矩阵无法表示它。解决办法是齐次坐标:把点写成 (x, y, 1),并使用 3 × 3 矩阵。沿 (a, b) 平移对应的矩阵各行分别为 (1, 0, a)、(0, 1, b)、(0, 0, 1);旋转 θ 对应 (cos θ, −sin θ, 0)、(sin θ, cos θ, 0)、(0, 0, 1);比例为 k 的位似对应 (k, 0, 0)、(0, k, 0)、(0, 0, 1)。由于每一步都是一个矩阵,整个变换序列也就是一个矩阵:各步矩阵的乘积,第一步位于最右侧的因子。绕中心 (c, d) 的旋转为 T(c, d) · R · T(−c, −d)。

矩阵左上角 2 × 2 部分的行列式告诉您面积如何变化,以及图形是否被镜像。行列式为 1 时,面积和朝向都保持不变(平移和旋转);为 −1 时,面积保持不变,但朝向翻转(单次反射);k² 则表示面积按比例因子的平方缩放。计算器会连同行列式一起报告距离被乘以的倍数。

示例

从三角形 A(1, 1)、B(4, 1)、C(1, 3) 开始,其面积为 3。

  • 绕原点逆时针旋转 90°。 (x, y) 变为 (−y, x),因此 A′(−1, 1)、B′(−1, 4)、C′(−3, 1)。矩阵为 (0, −1, 0)、(1, 0, 0)、(0, 0, 1),行列式为 1。
  • 关于 y 轴反射。 (x, y) 变为 (−x, y):A′(−1, 1)、B′(−4, 1)、C′(−1, 3)。行列式为 −1,因此朝向被反转。
  • 沿 (3, −2) 平移。 A′(4, −1)、B′(7, −1)、C′(4, 1)。
  • 以原点为中心、比例 k = 2 做位似。 A′(2, 2)、B′(8, 2)、C′(2, 6)。长度加倍,面积从 3 变为 12 = 3 × 2²。
  • 绕原点旋转 45°。 点 (1, 0) 变为 (√2/2, √2/2),以精确形式保留。
  • 顺序很重要。 取点 (1, 0)。先旋转 90° 再沿 (1, 0) 平移:(1, 0) → (0, 1) → (1, 1)。先平移再旋转:(1, 0) → (2, 0) → (0, 2)。

关于其他直线的反射

对于直线 y = mx + b,计算器使用关于 y = mx 的反射矩阵 (1 − m², 2m; 2m, m² − 1) 除以 1 + m²,并在前后各加一次平移 b 进行包装。所有元素都是有理数,因此结果是精确的。竖直直线 x = c 会把 x 变为 2c − x。例如,以 y = x + 2 为轴反射原点得到 (−2, 2),因为该直线是连接两点的线段的垂直平分线。

常见问题

什么是几何变换?
把平面上每一点移到新位置的规则。平移是滑动,反射是关于一条直线翻转,旋转是绕一个中心转动,位似是以一个中心为基准改变大小。前三者是保持距离不变的刚性运动;位似保持形状,但会改变大小。
如何将点绕原点旋转 90 度?
逆时针时,(x, y) 变为 (−y, x);顺时针时,变为 (y, −x)。对于 (3, 2),逆时针得到 (−2, 3),顺时针得到 (2, −3)。180° 旋转把 (x, y) 变为 (−x, −y)。
如何绕原点以外的点旋转?
先从该点减去中心,绕原点旋转所得结果,再把中心加回去。计算器通过矩阵 T(c) · R · T(−c) 为您完成这一步,以指定中心做位似也是如此。
位似会怎样改变面积?
长度乘以 |k|,面积乘以 k²。比例因子为 3 时,图形宽度变为三倍,面积变为九倍。负的 k 还会使图形绕中心翻转,这等同于先以 |k| 做位似,再旋转 180°。
变换的顺序重要吗?
通常重要。矩阵乘法不满足交换律,因此先旋转再平移与先平移再旋转的结果不同,如上面的例子所示。绕同一中心的两次旋转,或两次平移,则可以交换顺序。
如何关于直线 y = x 做反射?
交换坐标:(x, y) 变为 (y, x)。关于 y = −x 反射则把 (x, y) 变为 (−y, −x)。对于其他直线 y = mx + b,在反射步骤中选择该选项并输入 m 和 b 即可。

相关工具

数学计算器中的更多工具