1
У меня есть вектор 3d координат, которые должны быть проверены на верхнюю юдоль в сетке 3d координатуКак сравнить два 3d координаты в питоне
#vector
vec=[(.033,-.22,.98),(.5,-.9,.0029),(-.77,-.01,-.092),(.5,.2,.0029)]
#grid
x1 = np.linspace(-1,1,10)
y1 = np.linspace(-1,1,10)
z1 = np.linspace(-1,1,10)
Im используя этот код, который явно не так, потому, что его просто сравнивая первые координаты й только и не остальные y, z
ctr=0
for v in vec:
for i in x1:
for j in y1:
for k in z1:
if ctr==0:
temp=(i,j,k)
ctr+=1
continue
else:
#print temp, "to" ,i,j
temp2=(i,j,k)
if temp<=v<=temp2:
print "low,high",temp, temp2
temp=(i,j,k)
ctr+=1
===WRONG OUTPUT======
low,high (-0.052631578947368474, 1.0, 1.0) (0.052631578947368363, -1.0, -1.0)
low,high (0.47368421052631571, 1.0, 1.0) (0.57894736842105265, -1.0, -1.0)
low,high (-0.78947368421052633, 1.0, 1.0) (-0.68421052631578949, -1.0, -1.0)
low,high (0.47368421052631571, 1.0, 1.0) (0.57894736842105265, -1.0, -1.0)
Ive наклеена 2d сетки здесь (3d будет следовать той же логике). Поэтому мы начинаем итерирование сетки из ячейки (0,0) в последовательном порядке. Как вы можете видеть ниже & выше координат для точки г
Можете ли вы более четко определить, что вы имеете в виду верхнее значение? расстояние от источника? наибольшее расстояние между двумя указанными координатами? –
@jeffcarey добавлено описание pic – vinita