Bonjour,
Je ne sais pas si j'ai donné le bon nom au sujet.
Bon bref ...
Je suis entrain d'écrire un prédicat qui fais la rotation d'une matrice ..
Je m'explique :
Ce prédicat renvoi tous les cas possibles si on tourne la matrice à droite, à gauche ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 ? rotation([[0,0,1],[0,0,1],[0,0,1]],X). X = [[1,1,1],[0,0,0],[0,0,0]]; X = [[1,0,0],[1,0,0],[1,0,0]]; X = [[0,0,0],[0,0,0],[1,1,1]]; NO.
En gros, comme si on a une vision 3D de la matrice.
J'ai fais ça, mais ce prédicat renvoi des doublant aussi ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 rotation(L,M):- symetrie(L,M); symetrie(L,N), symetrie(N,M). symetrie(L,M):- symetrie_v(L,M); symetrie_h(L,M); transposer(L,M).%je l'ai déjà défini symetrie_v([[C1,C2,C3],[C4,C5,C6],[C7,C8,C9]],[[C3,C2,C1],[C6,C5,C4],[C9,C8,C7]]). symetrie_h([[C1,C2,C3],[C4,C5,C6],[C7,C8,C9]],[[C7,C8,C9],[C4,C5,C6],[C1,C2,C3]]).
Partager