给定x-y坐标的两点,我有一条指定的线。现在我想在二维numpy数组中,区分直线左边的点和右边的点。你知道吗
下面的代码实现了这个技巧-但是双循环伤害了我的宗教感情(对numpy)。一定有更聪明的方法?你知道吗
def myline(a_x,a_y,b_x,b_y):
start=np.zeros((100,100))
for x in range(100):
for y in range(100):
val= (b_x - a_x)*(y - a_y) - (x - a_x)*(b_y - a_y)
if val<=0:
start[x,y]=1
return start
可以使用
ogrid
对其进行矢量化:这将给你一个布尔掩码。如果你想要其他的数据类型
相关问题 更多 >
编程相关推荐