+ 4
how do I visualise multi dimensional array??(4D and after)
I know 1D is same as line, 2D as plane(matrix), 3D as space. I don't know how to think of 4D.
8 Answers
+ 15
Hypercube! contains row of cube. But really, if you need a visualization, assume that each box that you've created from the 3D array now has an array within in. Kinda like string theory multi-dimensional ideas. You can assume it as time dependent cube like 4th dimension is time in physics. Any ways
a row of cubes. The position (or cube number) on this row is the 4th dimension.
And if you want 5-dimensions, now picture columns and rows - of cubes!
For 6 dimensions, picture the rows and columns of cubes (as for 5 dimensions), and now add "layers" of these rows and columns.
...For 7 dimensions, imagine all of the above - contained in cubes in a single row! ;)
Yup, it's cubes all the way down.
+ 15
Well you don't need to visualize the array. Visualization is used to explain to beginners from where does the row or column, starts and ends. In the computer there is NO 2D or cubic memory. Every array you create no matter 2D, 3D or 4D is a single block of addresses of the values of the array (rows put one after another). There is no need to imagine silly shapes or whatever people use to do, in practice after every row there is a next one and you will see that when you start using pointers.
+ 8
consider an array of characters.. for visualization purpose..
..
consider 1D: char a[0]='d';
0[d]
consider 2D: char a[2][2] ;
a[1][0]='d';
0 1
0 [0,0] [0,1]
1 [d] [1,1]
consider 3D: char a[2][2][2];
a[0][0][1]='d';
0 1 0 1
0 [0,0] [d] 0 [0,0] [0,1]
1 [1,0] [0,1] 1 [1,0] [0,1]
------0------ --------1-------
consider 4D: char a[1][2][2][2];
a[0][1][1][1]='d';
0 1 0 1
0 [0,0] [0,1] 0 [0,0] [0,1]
1 [1,0] [0,1] 1 [1,0] [d]
------0------ --------1-------
-----------------0------------------
similarly for nth dimension it goes on
+ 2
My professor of Astronomy always said that "never try to visualization of 4D, there will be horrible things after that" xD We just can't imagine that, it's impossible for 3D-thing visualization 4D. like for 2D it's impossible to 3D ;)
0
Although the explanations are already quite nice, I want to add some, in my opinion, well understandable from a human perception point of view.
Human perception (a bit depending on the brain power of the human) can distinguish between seven dimensions. These dimensions are usually not seen as the uniform and easy to process dimensions from mathematics. Examples beyond the three spatial dimensions are time via slider so so), color, shape. Sound and touch are also ways of human perception which people can distinguish easily, though leaving the field of visualization.
Hope this sparks new ideas. :-)
0
thanks guys, atleast now I will be able to think in some way when it comes to multi dimensional array.
0
Any-dimensional array I would visualise like usual table. Where each coloumn (description of something) is dimension (D). As here
1D: number of element;
2D: date of production;
3D: brand;
4D: colour;
5D: width;
6D: length;
7D: weight;
8D: memory;
9D: price
...
0
It is hard but possible, although even if you manage to visualise 4d or 5d array, it might be too hard to read. the first two answers are for me best ones.
try to draw several 2D tables in a horisontal row.
Then draw another row and so on. You have 4D!
row, column, row of table, column of table.
Draw it again on another page and you have 5D :)