I was playing around this evening with simulating actual physics in a realistic space colony. (No, this isn't something that's going to go into High Frontier. It's the weekend, cut me some slack!)
Here's my first ever virtual space colony "ball drop" experiment. The little yellow sphere starts out 6 meters above the deck, initially stationary with respect to the rotating colony. (Imagine it's being held by somebody on a platform, though that somebody, and the platform itself, are invisible.) Then we drop it, much like Galileo dropping stones from the Leaning Tower of Pisa. But we get a behavior that Galileo never saw:
Here's my first ever virtual space colony "ball drop" experiment. The little yellow sphere starts out 6 meters above the deck, initially stationary with respect to the rotating colony. (Imagine it's being held by somebody on a platform, though that somebody, and the platform itself, are invisible.) Then we drop it, much like Galileo dropping stones from the Leaning Tower of Pisa. But we get a behavior that Galileo never saw:
The camera here is lined up for optimal viewing of that slight pull to the left. In reality, of course, there is no pull to the left... the ball is traveling in a straight line, at a constant velocity from the moment it was released, and the colony is rotating around it.
Details for the curious: the deck here has a 224-m radius and spins at 2 RPM, simulating 1G. The white ceiling at the top of the view is about 130 m up. Those deck plates are 2 m squares, though unfortunately they don't line up perfectly with the ball's starting position — but if you can detect a slight bend in the plating, that does align with where the ball starts. So the ball's apparent sideways motion is about a meter or so, over a 6 meter drop.
The physics simulation here is pretty simple. On each physics timestep, we apply the ball's true (Newtonian) velocity to its position. Then we account for how much the colony rotates around the ball. But, for computational efficiency, we do this backwards: the colony stays put, so we counter-rotate the ball position and velocity by the same amount. That's it.
Finally, note that there is no air here; the ball is falling as in a vacuum. In a real colony, of course, air would apply a force in the direction of the colony's spin, reducing this Coliolis effect by some amount that depends on the aerodynamics of the object.
Details for the curious: the deck here has a 224-m radius and spins at 2 RPM, simulating 1G. The white ceiling at the top of the view is about 130 m up. Those deck plates are 2 m squares, though unfortunately they don't line up perfectly with the ball's starting position — but if you can detect a slight bend in the plating, that does align with where the ball starts. So the ball's apparent sideways motion is about a meter or so, over a 6 meter drop.
The physics simulation here is pretty simple. On each physics timestep, we apply the ball's true (Newtonian) velocity to its position. Then we account for how much the colony rotates around the ball. But, for computational efficiency, we do this backwards: the colony stays put, so we counter-rotate the ball position and velocity by the same amount. That's it.
Finally, note that there is no air here; the ball is falling as in a vacuum. In a real colony, of course, air would apply a force in the direction of the colony's spin, reducing this Coliolis effect by some amount that depends on the aerodynamics of the object.
Joe Strout
Lead Developer, High Frontier