def switchcomp2(self, prev_para, prev_para2, curr_para):
bet = 0
ent = 6
if prev_para.size == 12:
distrec = np.finfo(np.float64).max
indrec = [-1, -1]
for i in xrange(2):
for j in xrange(2):
if i == j:
continue
tempdist = np.linalg.norm(prev_para[bet:ent] - curr_para[6 * i + bet:6 * i + ent]) + np.linalg.norm(
prev_para[6 + bet:6 + ent] - curr_para[6 * j + bet:6 * j + ent]) \
+ np.linalg.norm(
prev_para2[bet:ent] - curr_para[6 * i + bet:6 * i + ent]) + np.linalg.norm(
prev_para2[6 + bet:6 + ent] - curr_para[6 * j + bet:6 * j + ent])
if tempdist < distrec:
distrec = tempdist
indrec = [i, j]
fin_para = np.concatenate(
(curr_para[6 * indrec[0]:6 * indrec[0] + 6], curr_para[6 * indrec[1]:6 * indrec[1] + 6]))
return fin_para
评论列表
文章目录