我认为我在数组索引代码的最后一行做错了。我希望 p 的输出是这样的-
array([[ 0, 0, 0],
[ 0, 0, 0],
[44, 0, 0],
[45, 55, 0],
[46, 56, 0],
[47, 57, 0],
[48, 58, 0],
[39, 49, 59],
[40, 50, 60]])
这是代码-
import numpy as np
dx = 8
dy = 10
bx = 5.34
by = 1.09
index = np.zeros((dx+dy),dtype = 'int32')
for i in np.arange(1,dy+1):
for j in np.arange (1,dx+1):
if i-by > 0:
theta = 180*np.arctan(abs(j-bx)/(i-by))/np.pi
if theta<10:
r = np.around(np.sqrt((j-bx)**2+(i-by)**2))
if r>0:
index[r]+=1
p = np.zeros((r,index[r]),dtype = 'int32')
p[r,index[r]] = i+(j-1)*dy
有人可以指出我做错了什么吗?谢谢你。