
My dad's been thinking about ring worlds (among many other things) and he thought it should be possible to make a torus (doughnut) shaped planet of the right proportions, spinning at the right speed, which had earth like gravity over it's entire surface. You see, the total gravitational pull on the inside of the torus would be weaker than on the outside, because on the inside you have all that mass above your head. But when you spin the torus, the centripetal force will increase your reactance force on the inside of the torus, and decrease it on the outside, hopefully making the apparent gravity constant. He could theoretically have checked it with huge amounts of complicated calculus. But instead, I had a go at simulating it.
So, I rendered myself a torus (with per pixel lighting, just for fun). Then I needed some way of evaluating the gravitational pull at any point. I decided to do this by subdividing it into little cubes, which I could then treat as point masses. I used octree like recursion to quickly reject empty space, and allow me to use larger cubes within the torus. So, with that set up, I found the pull at 3 points on the surface. 1 on the inside, 1 on the edge, and 1 on the outside. Then I checked the horizontal force on the edge point (caused by the pull of the far side of the torus) and calculated the speed I needed to spin it at to cancel out that effect. Once that was working, it was just a matter or trying different proportions!
Or not. My maths was messed up, and I could only get the inner and outer forces equal by making it really skinny. So I looked through my code, fixed about 3 things, and went back on the hunt. And I found it! Picture is provided. It was one of those moments, you know? How many of my maths teachers could work that out? How many dudes you know roll like this... Despite all that, it doesn't work (and I knew full well while on cloud 9, too). Why? Well, if you're on what I call the edge of the torus, the gravity is double that when on the inside or outside. Seems odd, but that's what came out. I checked a few more points, and the apparent gravity can be as much as 30 degrees from perpendicular to the surface. I tried squishing the torus vertically, but it barely helped. Oh well. Next task: Find a cross section that produces a torus-like shape with the desired characteristics. But nah. Contrary to popular belief, I know when to give up.
|