Bonjour, le logiciel s'appelle autocad
Une méthode simple pour communiquer serait de donner des coordonnées pour chaque tours
du style T1(1,1,8)
T2(8,1,1)
T3(8,8,8)
T4(1,8,1) etc etc
comme ça, tout le monde parlerait la même langue!
Si tu veux, pour un échiquier (6x6x6) :
T1(1,1,1)
T2(2,2,1)
T3(3,3,1)
T4(1,2,2)
T5(2,3,2)
T6(3,1,2)
T7(1,3,3)
T8(2,1,3)
T9(3,2,3)
T10(4,4,4)
T11(5,5,4)
T12(6,6,4)
T13(4,5,5)
T14(5,6,5)
T15(6,4,5)
T16(4,6,6)
T17(5,4,6)
T18(6,5,6)
Les fleurs du cerisier rêvent en blanc les fruits qu'elles ne voient pas.
Bonjour,
j'ai réalisé cette petite vidéo pour les 32 tours d'un cube 8X8X8...
http://sd-1.archive-host.com/membres...8/IMG_1726.MOV
On voit très nettement les agglomérats des deux super tours 4X4X4
Cordialement
je suis certain qu'il n'y a pas moyen de faire moins que 32 tours dans un cube 8X8X8, par contre pour le démontrer...
suite et fin
ci joint une super tour 3X3X3
http://sd-1.archive-host.com/membres...8/IMG_1728.MOV
constituée de 9 éléments
ce qui implique effectivement
que pour contrôler un cube de 6X6X6 soit 216 cases
il suffit de 18 tours
reste un dernier point peut être...
démontrer qu'une super tour X*X*X doit avoir X*X éléments c'est vrai pour X=2, 3, 4...mais est ce vrai pour tout X
ça ferait 6*6=36 pour X=6 et tu trouves 2 fois moins, c'est normal ?
oups j'ai mal lu, x*x serait le nombre de cases, pas le nombre minimum de tours
mais alors ça ferais 36 et pas 216 pour x=6, c'est quoi élément ?
Bonjour, oui c'est normal car les propriétés d'une super tour sont différentes et plus délicates à réaliser que celles d'une occupation de toutes les cases...
C'est typiquement sur cet écueil logique que je me suis vautré pendant toute la première partie de ce sujet . Heureusement la visualisation 3 D m'a permis d'affiner mon point de vue.
Cordialement
ça ne marche pas,
j'ai fait un programme en VBA pour tester
et je trouve que 188 cases ne sont pas couvertes par une tour
1,4,7
1,4,8
1,5,7
1,5,8
1,6,7
1,6,8
1,7,4
1,7,5
...
Code:Function SetTour(ta, x, y, z) For i = 1 To 8 ta(i, y, z) = 1 ta(x, i, z) = 1 ta(x, y, i) = 1 Next i End Function Function SuperTours() Dim ta(1 To 8, 1 To 8, 1 To 8) r = SetTour(ta, 1, 1, 1) r = SetTour(ta, 2, 2, 1) r = SetTour(ta, 3, 3, 1) r = SetTour(ta, 1, 2, 2) r = SetTour(ta, 2, 3, 2) r = SetTour(ta, 3, 1, 2) r = SetTour(ta, 1, 3, 3) r = SetTour(ta, 2, 1, 3) r = SetTour(ta, 3, 2, 3) r = SetTour(ta, 4, 4, 4) r = SetTour(ta, 5, 5, 4) r = SetTour(ta, 6, 6, 4) r = SetTour(ta, 4, 5, 5) r = SetTour(ta, 5, 6, 5) r = SetTour(ta, 6, 4, 5) r = SetTour(ta, 4, 6, 6) r = SetTour(ta, 5, 4, 6) r = SetTour(ta, 6, 5, 6) n = 0 For x = 1 To 8 For y = 1 To 8 For z = 1 To 8 If ta(x, y, z) <> 1 Then Debug.Print x & "," & y & "," & z n = n + 1 End If Next z Next y Next x End Function
pardon Juzo, j'ai testé avec 8x8x8 mais avec 6x6x6 ça marche
donc il faudrait n*n/2 tours pour un cube de n
Pour faire une super tour X*X*X il faut au minimum X*X tours, en effet chaque face de la super tour doit "voir" X*X tours pour contrôler totalement sa direction orthogonale.Envoyé par Mct92mctreste un dernier point peut être...
démontrer qu'une super tour X*X*X doit avoir X*X éléments c'est vrai pour X=2, 3, 4...mais est ce vrai pour tout X
De plus quelque soit X, il existe toujours une solution avec X*X tours. Il suffit pour cela de décaler correctement les tours dans les couches successives de la super tour.
Je montre un exemple pour pour faire la super tour 3*3*3, avec les 3 couches successives à empiler (x représente un emplacement vide, et o représente une tour) :
1
x x o
x o x
o x x
2
x o x
o x x
x x o
3
o x x
x x o
x o x
Et pour la super tour 4*4*4 :
1
x x x o
x x o x
x o x x
o x x x
2
x x 0 x
x 0 x x
0 x x x
x x x 0
3
x 0 x x
0 x x x
x x x 0
x x 0 x
4
0 x x x
x x x 0
x x 0 x
x 0 x x
X*X est le nombre minimum de tours nécessaire et il y a toujours une solution à X*X, donc c'est le nombre de tours qu'on utilise pour une super tour X*X*X.
Dernière modification par Juzo ; 24/02/2017 à 13h55.
Les fleurs du cerisier rêvent en blanc les fruits qu'elles ne voient pas.
Oui c'est le résultat que j'ai obtenu aussi.Envoyé par Eaupuredonc il faudrait n*n/2 tours pour un cube de n
Les fleurs du cerisier rêvent en blanc les fruits qu'elles ne voient pas.
*pour n pairEnvoyé par JuzoOui c'est le résultat que j'ai obtenu aussi.
2 est suffisant pour contrôler un échiquier d'arête 2, mais pour faire une "super tour" de 2, se dont on parle ici, il faut 4 tours.Envoyé par DynamixPour 2 , 2 tours suffisent .
Les fleurs du cerisier rêvent en blanc les fruits qu'elles ne voient pas.
désolé, j'avais pas vu que juzo avait répondu à ma place...
J'ai fait et testé avec succès la fonction SuperTourPour faire une super tour X*X*X il faut au minimum X*X tours, en effet chaque face de la super tour doit "voir" X*X tours pour contrôler totalement sa direction orthogonale.
De plus quelque soit X, il existe toujours une solution avec X*X tours. Il suffit pour cela de décaler correctement les tours dans les couches successives de la super tour.
Code:Function SuperTour(ta, Zd, n2) y = Zd zf = Zd + n2 - 1 n = 0 For z = Zd To zf For x = Zd To zf ta(x, y, z) = 1 y = y + 1 If y > zf Then y = Zd End If Next x 'affichage XXO.. Debug.Print z For y2 = Zd To zf M = "" For x = Zd To zf If ta(x, y2, z) = 1 Then M = M & "O" Else M = M & "X" End If Next x Debug.Print M Next y2 ' décalage en y n = n + 1 y = Zd + n Next z End Function Function SuperTours() nb = 8 Dim tt(1 To 8, 1 To 8, 1 To 8) Dim ta(1 To 8, 1 To 8, 1 To 8) n2 = nb / 2 ' création des 2 supertours r = SuperTour(tt, 1, n2) r = SuperTour(tt, n2 + 1, n2) ' mettre à 1 tout ce qui est vue par une tour For z = 1 To nb For y = 1 To nb For x = 1 To nb If tt(x, y, z) = 1 Then r = SetTour(ta, x, y, z) Debug.Print x & "," & y & "," & z End If Next x Next y Next z ... test dans message précédent
Effectivement une super tour X*X*X doit être constituée au minimum de X*X tours
Avec la stratégie de mettre 2 super tours en diagonale dans un cube 2X*2X*2X on obtient un rendement du maximum d'occupation des tours de ... 2/3
ce qui est pas mal du tout!