Hi,
a 3d matrix is a like a 3d grid, where you reference a value using 3 indexes.
depending on how you want to read and write and search in this grid, you might get away with a simple ArrayMaker Hashtable with the key being formatted like this
"x y z" if you follow this format, you can easily read the value for a given grid cell, for example "1 4 5" would return the value at x=1 y = 4 z = 5
and when you create a new item, you construct the key accordingly.
now this could be a lot trickier if you want some advanced search within your grid, like, so before you decide if you need to go for a more complex system, you need to define your needs properly as to ho wyou want to access your matrix.
one big leap towards this would be to define your matrix using xml. you have then many ways to define your data, and you benefit from the very powerful and all mighty xpath search system which can get you anything from your xml data.
here's two example of how your matrix could be define
<root>
<Matrix>
<cell x="0" y="0" z="0">value of cell 0,0,0</cell>
</Matrix>
<Matrix>
<x index="0">
<y index="0">
<z index="0">Value for cell 0,0,0</z>
<z index="1">Value for cell 0,0,1</z>
<z index="2">Value for cell 0,0,2</z>
</y>
<y index="1">
<z index="0">Value for cell 0,1,0</z>
<z index="1">Value for cell 0,1,1</z>
<z index="2">Value for cell 0,1,2</z>
</y>
<y index="2">
<z index="0">Value for cell 0,2,0</z>
<z index="1">Value for cell 0,2,1</z>
<z index="2">Value for cell 0,2,2</z>
</y>
</x>
</Matrix>
</root>
To work with xml and playmaker, DataMaker is the way to go and it's available on the ecosystem.
Bye,
Jean