首页 > 试题广场 >

二维平移矩阵实现

[编程题]二维平移矩阵实现
  • 热度指数:244 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
您的任务是实现一个将二维平移矩阵应用于一组点的函数。平移矩阵用于将二维空间中的点在 xy 方向上移动指定的距离。编写一个函数 `translate_object(points, tx, ty)`,其中 `points` 是 `[x, y]` 坐标列表,`tx` 和 `ty` 分别是 xy 方向上的平移距离。应用平移矩阵后,该函数应返回一个新的点列表。

输入描述:
第一行输入一个二维列表,表示点集。
第二行输入两个浮点数,分别表示 xy 方向上的平移距离。


输出描述:
输出一个二维列表,表示平移后的点集。
示例1

输入

[[1, 1], [2, 2], [3, 3]]
2 3

输出

[[3.0, 4.0], [4.0, 5.0], [5.0, 6.0]]

备注:
1.对应的输入、输出已给出,您只用实现核心功能函数即可。
2.支持numpy、scipy、pandas、scikit-learn库。

头像 牛客题解官
发表于 2025-02-05 13:52:10
二维平移矩阵是一种将二维空间中的点进行平移的矩阵,其计算公式为: 其中,和分别是平移的x和y方向的距离。 然后将二维点与平移矩阵相乘,得到平移后的点。 标准代码如下 def translate_object(points, tx, ty): translation_matrix = np. 展开全文
头像 咩咩食人鱼
发表于 2026-01-17 13:18:45
import numpy as np def translate_object(points, tx, ty): pts=np.array(points,dtype=np.float64) pts+=np.array([tx,ty]) return pts.tolist() 展开全文