Quadrant Tree

Feb 20, 2009 at 2:16 AM
You have great ideas and I'm sure that it would be very fun! I hope you plan to resume this project.
Feb 20, 2009 at 9:33 PM
I'm looking at your code and I'm not sure to understand what is the rationale for the Quadrant tree... Why did you choose this implementation model? Is this to implement organisms that live on other organisms? How do you manage to get the tree properly sorted after the organisms have moved?
May 15, 2009 at 2:05 PM
Edited May 16, 2009 at 1:14 AM

The main rationale for the Quadrant tree is to allow organisms to have arbitrary size. Using a fixed grid you could always end up with thousands of organisms of a size smaller than you choose for the grid size living in a single area. If you don't have a system for dividing things down at all then you can't hive off areas to other processors / computers. Because large organisisms aren't generally aware of organisms that are much, much tinier than them, they can be processed without having to refer too far down the tree, so not breaking the scalability. Similarly, since smaller organisms can't see so far, the organisms they can interact with can all be located without going too far up the tree.