Even though this isn’t a “game” per say, I thought someone might find it interesting.
So without going into too much detail, in my day job, I deal with large, heavy duty turbo-machinery and their manufacture.
One requirement for an impeller (like on a fan) to run well is to have it well balanced. For large machinery, this can be done in two parts; First a “static balance,” then a “dynamic balance.”
Large turbo-machinery will generally be balanced to both standards. Either in house or on site during installation. If a rotating assembly is statically balanced well, then it makes the dynamic balance much easier to do. And long story short, that makes my life easier.
The large impellers we make have removable blades, so they can be replaced periodically as they get worn out, without having to tear everything apart to exchange a whole impeller assembly. Due to the casting process, each blade weighs a little bit different. So to ensure that the impeller is as naturally balanced as possible, we want to distribute the blades so that they don’t create a heavy spot on the impeller; we want it to have a good static balance. So for example, we might not want all the heaviest blades on one side of the hub, as that would create imbalance.
So what we would do is write down all the blades and their weights, then type that into an Excel spreadsheet that would calculate the center of gravity of the proposed distribution. If it was not in tolerance, you swap two blade positions, and see if that makes it better or worse.
Repeat ad nauseum.
It would take several hours to get within tolerance sometimes. So I decided to fix that.
This is a task perfectly fitted for a computer, so I created a little program to help me out. I have BGE on a flash drive, so I used it to program this over a few lunch breaks at work. Basically it loops through every blade in every position, and finds the first solution that falls within the specified tolerance.
Behold! The blade positioning program (or “evenly distributing weights around a circle program”).
Now I can just type in the blade count, their weights, and my allowable tolerance for the center of gravity, and a few seconds later I have my final blade positions! Plus, it can obtain balances 100x better than I can by hand.
Work smarter, not harder.
I might create a YouTube video showing it’s functionality, and possibly a download if anyone is interested. (It can be used to balance any weighted objects in a circle, not just fan blades) (I also have to check the legality of that, who owns what, proprietary information and all blah blah)