我有一个(720,720)极坐标矩阵(r,theta),我想转换为笛卡尔(720,720)矩阵(x,y)。
我可以计算:
x = r*cos(theta)
y = r*sin(theta)
我不知道如何将这些结果重新采样为笛卡尔形状。如何将其重新采样到数组中?
答案 0 :(得分:0)
假设您的数据是列表[[r,theta,[r,theta] ...]或类似形状的数组的列表,则可以使用一种理解:
[[r*cos(theta), r*sin(theta)] for r,theta in data]
答案 1 :(得分:0)
假设您已将720x720矩阵存储为简单的python列表,则将创建一个新列表,如下所示:
from math import sin, cos
lst_polars = [
(1, 15), (1, 30), (1, 45), (1, 60), (1, 75), (1, 90),
]
cartesian_lst = [
(r * cos(theta), r * sin(theta)) for r, theta in lst_polars
]
print(cartesian_lst)
如果您不想使用理解列表,只需使用普通的for循环即可:
cartesian_lst = []
for r, theta in lst_polars:
cartesian_lst.append((r * cos(theta), r * sin(theta)))