Jump to content
  • Advertisement
Sign in to follow this  
Lord_Vader

toroidal array

This topic is 2268 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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

Share this post


Link to post
Share on other sites
Advertisement
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!