9.5 hours.
That’s how long it took me to finally get the full simulation up and running. Now it’s not perfect, and it’s got some gaps, but honestly, I love the way it’s looking.
What I’ve done:
- Built a state machine that stores molecule templates, instances, object scenes, and the entire environment
- Built a geometry helper file with all sorts of functions to help the placement of molecules in an object’s bounding box space, so that molecule instances don’t intersect with one another.
- Made a placement file that manages the placement of each molecule using a frontier approach, where once a new molecule is placed, more stem from that one.
- Built the full rendering file that uses the placement file to actually render the atoms and bonds together, rotating them in space.
- Tied them all together to get this.
So you may notice that the bonds aren’t just regular bonds. They’re electron density regions. Remember, I set out to be as accurate as possible, so here it is. Every single one of those dots is the psossible location of an electron in its bond.
There’s no simple single/double bonds, instead, I went all out. Single bonds are SIGMA bonds, and double bonds are one sigma + one pi bond.
If you’re wondering how the efficiency and smoothness of running this many entities in Panda3D is, it’s actually basically perfect. I don’t see any lag or sketchy jittering.
Next up is making it even more accurate!
Log in to leave a comment
*