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 through 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. See my ABM project for an example.
See some examples in the documentation for the wrapping_coords2d
crate.