Smile définit un type de données dérivé des arrays of real : matrix.
-
Une matrix est une structure (un record AppleScript) qui contient des données stockées dans un array of real, et deux entiers positifs définissant le nombre de lignes (nrows) et le nombre de colonnes (ncols). Il est nécessaire que l'array of real contienne exactement nrows * ncols valeurs. Les matrices stockent des ensembles paramétriques 2D de valeurs scalaires. Par exemple vous pouvez décrire une surface paramétrique 2D dans un espace 3D à l'aide de trois matrices correspondant à (x(u, v), y(u, v), z(u, v)).
set x to {0, 1, 2, 2, 1, 0}
set m to {class:matrix, ncols:3, nrows:2, array of real:x}
Lorsque cela fait sens, Smile traitera m comme un tableau 2D, comme dans l'exemple ci-dessus :
0 1 2
2 1 0
-
La propriété array of real d'une matrix stocke le tableau 2D en ordonnant les valeurs par rangées.
-
Pour convertir les valeurs d'une matrix en texte tabulé, vous pouvez utiliser la commande display. Pour l'afficher dans la Console, utilisez par exemple la commande quietmsg.
set x to {0, 1, 2, 2, 1, 0}
set m to {class:matrix, ncols:3, nrows:2, array of real:x}
quietmsg(display m)
-- Result:
0.0 1.0 2.0
2.0 1.0 0.0
-
Pour visualiser une matrix très rapidement, utilisez la fonction QuickBitMap ou la fonction QuickScalarMap.
set x to {0, 1, 2, 2, 1, 0}
set m to {class:matrix, ncols:3, nrows:2, array of real:x}
QuickBitMap(m, 0)
|
|