Problème calcul distance entre points
Bien le bonjour,
C'est la première que je poste sur un forum donc excuser moi si jamais des choses essentiel dans mon message.
voila pour un projet je dois calculer toutes les distances entre plusieurs sans faire de doublon et voici mon code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
def calculDistances(nombreProduits):
i=0
k=0
n=0
j=0
m=0
while k < nombreProduits:
while m < nombreProduits:
x1=coordonneesPointX[k]
y1=coordonneesPointY[k]
x2=coordonneesPointX[m+1]
y2=coordonneesPointY[m+1]
print('x1: {}, y1: {}, x2: {}, y2: {}'.format(x1, y1, x2, y2))
print('k:{}, m:{}'.format(k, m+1))
m+=1
distancesEntrePoints.insert(n, math.sqrt(math.pow((x2-x1),2)+math.pow((y2-y1),2)))
n+=1
k+=1
m=k |
Petite précision: nombreProduits est le nombre de points (dont les coordonnées sont saisie plus haut dans mon programme) et il y a un point en plus qui est Origine (0,0)
Seulement, voila mon problème: quand je saisie des points dans l' "ordre", j'obtient un résultant satisfaisant comme suit:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
Nombre de produits: 3
X: 3
Y: 4
X: 6
Y: 8
X: 9
Y: 12
k:0, m:1
k:0, m:2
k:0, m:3
k:1, m:2
k:1, m:3
k:2, m:3
Connexion(s): 6
Liste points: ['Origine', 'A', 'B', 'C']
CoordonnéesX; [0, 3, 6, 9]
CoordonnéesY: [0, 4, 8, 12]
[5.0, 10.0, 15.0, 5.0, 10.0, 5.0] #Distances [OA, OB, OC, AB, AC, BC] |
mais quand mais points sont saisies dans le "désordre", j'obtient des résultats erroné:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
Nombre de produits: 3
X: 9
Y: 12
X: 6
Y: 8
X: 3
Y: 4
k:0, m:1
k:0, m:2
k:0, m:3
k:1, m:2
k:1, m:3
k:2, m:3
Connexion(s): 6
Liste points: ['Origine', 'A', 'B', 'C']
CoordonnéesX; [0, 9, 6, 3]
CoordonnéesY: [0, 12, 8, 4]
[15.0, 15.0, 5.0, 5.0, 10.0, 5.0] |
Pourriez-vous m'aider à régler ce problème? Merci d'avance