Rust crate to translate 2D coordinates into a 1D index with wrapping.
Use WrappingCoords2d
to store data from a 2D grid into a 1D container such as std::vec::Vec
. Both x and y coordinates wrap around the limits of the grid. WrappingCoords2d
is not a container; it is just a tool to manipulate indices. For a 2D container, see array2d
. For coordinate translation without wrapping, see ameda
.
WrappingCoords2d
is useful to design cellular automata and agent-based models. You can use WrappingCoords2d
as part of an Entity-Component-System (ECS) software architecture for high-performing, flexible models. See my ABM project for an example.
See more examples in the documentation for the wrapping_coords2d
crate.