Skip to main content
GameDev.net gamedev.net
🔒 Locked

toroidal array

Started by Lord_Vader May 7, 2012 at 4:34 PM 2 replies 7.2k views
Original Post
Lord_Vader
Lord_Vader
Hello everybody,

Can someone write me a few words about what is a toroidal array data type and how it compares with a normal array. The way that I understand it is that it is almost like a circular double linked list with constant size.
If you provide me a link even better.

I did a search over the internet and some books about data structures but I didn't find any relevant and explanatory link.

Thanks
Antheus
Antheus
For a 2D array with dimensions NxM:

torodial[i, j] = regular[i % N, j % M];

It doesn't have a use as such, but some algorithms may benefit from this property. For example:A B
C D

// toroidal array now contains sequence:
ABABABABAB
and
ACACACACACACACACACAC....


It basically just says that rows and columns wrap around.
Slavik81
Slavik81
I don't think this would normally be a double-linked list if it's of constant size. You can achieve the same effect by using modulo (%) on the index accessors of a normal 2D array, bounding them within the width or height of the array.
swiftcoder
swiftcoder

It doesn't have a use as such, but some algorithms may benefit from this property.

It is however very useful for representing game maps that wrap around at the edges - for instance, when implementing Conway's Game of Life.

Also worth mentioning that GPU texture lookups wrap by default, which provides a very simple case of toroidal access.
Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.