README CMPS 161 Final Project Water & Particles Tim Babb (tbabb@ucsc.edu) USEAGE: MPFinal Right click & drag: Rotate Left click & drag: Zoom Middle click & drag: Translate DESCRIPTION: This project runs a particle simulation. The intent was to have the particles be "sticky", thus creating a cohesive mass that might behave somewhat like liquid or goo. Unfortunately, I quickly found that it is extremely difficult to control the behavior of the particles on a macroscopic scale by tweaking their force field functions. As such, the particles will behave in wildly different ways depending on how you set the control sliders within the program. Currently the force field function is quadratic, but you can see other attempts in the source code. Late in the project, I somewhat abandoned my attempts to get the particles to behave as one mass. There is also another trick to the computation, which allows for particles to find their neighbors in order(1) time. The world is divided into 3D cells, and every cell that contains a particle is stored in a hash table. Empty cells are deleted. Thus, objects in the world can find close neighbors by hashing their location. This ended up being what I believe to be the more novel aspect of this program. These cells are visualized as yellow cubes. You can see them pop in and out of existence as particles pass through them. NOTES TO GRADER: I unfortunately do not feel that this project is up to my standards, for several reasons: 1). I overestimated how easy it would be to make un-connected particles behave like liquid or goo. The results were way less spectacular than I had hoped. 2). I had been working on and thinking about the project for some time, but my guess of how much I had left to do was just plain wrong until it was too late. I didn't have sufficient time to tweak and perfect even what I had. I don't really know how this happened, it was pretty much just a flat-out miscalculation. I thought I was well on schedule util the very last few hours. 3). Because of the above two things, the focus unintentionally shifted much more towards the spacial hashing algorithm than I had originally planned. I think perhaps I could have pursued it further, but given my unfortunate situation I feel that I wasn't able to really do either topic justice. 4). The results basically just look like a boring 'ol particle system, and I wish I had something much better to show as a final project. However, it's not all a loss: my project was an experiment, and the experiment failed. This information is still useful, and I still think I've learned from it.