首页 > 试题广场 >

二维平移矩阵实现

[编程题]二维平移矩阵实现
  • 热度指数:225 时间限制: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库。

可以利用广播机制实现

def translate_object(points, tx, ty):
    d = np.array([tx, ty], dtype=float)
    np_points = np.array(points, dtype=float)
    np_points += d
    return np_points.tolist()


发表于 2025-09-01 13:09:37 回复(0)