【发布时间】:2014-09-04 11:10:55
【问题描述】:
我有一个以通常方式从极坐标生成的笛卡尔坐标数组:
for k in range(0, Phi_term):
for j in range(0, R_term):
X[k,j] = R[j]*np.cos(phi[k]);
Y[k,j] = R[j]*np.sin(phi[k]);
问题是这样一个数组的第零个元素对应极圆的原点。我想要一个相同元素的数组,但从右上角开始。例如,当前数组中的元素分布如下(上半部分):
11 10 9 6 7 8
14 13 12 3 4 5
17 16 15 0 1 2
(想象它是一个圆圈)。我想要的是从第零个元素开始的网格:
0 1 2 3 4 5
6 7 8 9 10 11
12 13 14 15 16 17
虽然保留了值,即初始数组的第 11 个元素的值现在是新数组的第 0 个元素的值。
在numpy 中是否有任何聪明的方法来执行这样的转换?
【问题讨论】:
-
对我来说,不清楚你想要达到什么目的......你能发布一个你期望的输入和输出的例子吗?
-
你真的想要笛卡尔坐标,还是想要描述顺序的极坐标?
标签: math numpy geometry coordinates polar-coordinates