Bonjour,
J'ai poursuivi mes tests en augmentant progressivement le nombre de points.
Pour donner une chance à l'algorithme de trouver tous les rectangles théoriques, sans avoir des canaux trop fins occultant un certains nombre de rectangles,
j'ai modifié quelques ordonées et mis la hauteur mini à un.
Finalement de 3 à 16 points j'ai pu trouver que mon implémentation de l'algorithme trouvait bien l'ensemble de rectangles théoriqiques.
Avec 16 points et divers valeurs de Hauteur mini cela donne
Points = 16 Scans = 17 Théoriques = 289 Trouvés = 141 TropFin = 90 AppelsTot = 231 TrouvésNon retenus = 107 Retenus = 34 AppelsSup = 107 AppelsInf = 107 ApresDernierPoint = 0
Points = 16 Scans = 17 Théoriques = 289 Trouvés = 279 TropFin = 10 AppelsTot = 289 TrouvésNon retenus = 0 Retenus = 279 AppelsSup = 136 AppelsInf = 136 ApresDernierPoint = 0
Points = 16 Scans = 17 Théoriques = 289 Trouvés = 289 TropFin = 0 AppelsTot = 289 TrouvésNon retenus = 0 Retenus = 289 AppelsSup = 136 AppelsInf = 136 ApresDernierPoint = 0
Pour choisir le rectangla associé à chaque point, j'ai d'abord fait une homtétie sur les rectangles retenus pour les ramener à la dimnsion cible et ensuite j'ai choisi le rectangle dont le centre était le plus près du point.
Avec cette méthode plusieurs points partagent le mêm rectangle.
Point = 1 X = 75 Y = 422 Rectangle choisi = 8 Xri = 180 Yri = 337
Point = 2 X = 512 Y = 322 Rectangle choisi = 18 Xri = 286 Yri = 251
Point = 3 X = 542 Y = 251 Rectangle choisi = 17 Xri = 372 Yri = 98
Point = 4 X = 591 Y = 400 Rectangle choisi = 22 Xri = 372 Yri = 417
Point = 5 X = 601 Y = 235 Rectangle choisi = 23 Xri = 590 Yri = 98
Point = 6 X = 614 Y = 250 Rectangle choisi = 23 Xri = 590 Yri = 98
Point = 7 X = 639 Y = 359 Rectangle choisi = 24 Xri = 590 Yri = 417
Point = 8 X = 687 Y = 375 Rectangle choisi = 24 Xri = 590 Yri = 417
Point = 9 X = 691 Y = 222 Rectangle choisi = 23 Xri = 590 Yri = 98
Point = 10 X = 697 Y = 45 Rectangle choisi = 23 Xri = 590 Yri = 98
Point = 11 X = 709 Y = 505 Rectangle choisi = 24 Xri = 590 Yri = 417
Point = 12 X = 724 Y = 358 Rectangle choisi = 28 Xri = 630 Yri = 415
Point = 13 X = 728 Y = 292 Rectangle choisi = 28 Xri = 630 Yri = 415
Point = 14 X = 754 Y = 381 Rectangle choisi = 32 Xri = 641 Yri = 415
Point = 15 X = 763 Y = 395 Rectangle choisi = 34 Xri = 654 Yri = 415
Point = 16 X = 825 Y = 317 Rectangle choisi = 34 Xri = 654 Yri = 415
Encore une fois merci à Guesset qui m'a trouvé l'algorithme que je cherchais et qui fonctionne
Avant de clore ce sujet le vais poursuivre quelques tests avec 20 points.
Bonsoir,
L'exemple "Jacques Anglade" me fait penser à un certain "aj3309"
Même si ce n'est pas utile pour ce problème d'affichage, l'implémentation réussie peut donner des pistes d'améliorations importantes de cet algorithme. Il trouve effectivement les plus grands rectangles mais il regarde aussi des rectangles sans intérêt. Tout vient de ce qu'il reconduit à l'identique pour chaque point le process à partir du bord gauche.
Salutations
Partager