Etape 1: Le carré magique symétrique
Il existe plusieurs façons de construire un sqaure magique, mais je vais vous montrer seulement moi.
Conditions : La matrice 2D doit être plus grand que 3 et toujours être impair dans la taille.
La fonction:
y = 2 * x taille mod
OU
Pour x = 0 à la taille-1
Matrice ((OffsetX + x) taille mod, (OffsetY + 2 * x) taille mod) = Nr
prochaine
Maintenant, nous avons un carré magique, mais n’est pas symétrique ou concentrique, afin que nous faire pivoter la matrice de 180 degrés et ajoutez-les ensemble.
Pour x = 0 à la taille - 1
Pour y = 0 à la taille - 1
Matrix(x,y) = Matrix(x,y) + Matrix (taille - x - 1, taille - y - 1)
Prochaine
Prochaine
Puis nous la matrice originelle de miroir et l’ajouter à ce qui précède additionnées.
Pour x = 0 à la taille - 1
Pour y = 0 à la taille - 1
Matrix(x,y) = Matrix(x,y) + Matrix (taille - x - 1, y)
Prochaine
Prochaine
Le résultat est un carré magique symétrique.
Vous pouvez exécuter un nouveau y = 2 x * taille mod sur le dessus de la vieille matrice, puis répéter le 180 degrés et miroir opération pour toujours.
Matrice de même dimension avec les mêmes opérations appliquées vous pouvez ajouter ou soustraire des uns des autres. Multiplier ou divisé avec une constante et la volonté toujours être symétrique des carrés magiques.
Télécharger mon code de programme et source de Visual Basic 2010 à jouer.