Simple SceneKit program in either Xcode Playground or iPad Playground. Place ball(s) having dynamic physics body on a static/kinematic floor. Set world gravity to zero vector. Start program and the ball(s) slowly lift off the surface then hover slightly above it! How can I find out the new positions of the ball(s) after this intriguing error/feature?
0
votes
1 Answers
0
votes
The explanation is simple but interesting. I had positioned the ball centres not a radius above the table but, in error, a half radius. The table surface is a material static surface that will have some default elasticity. With zero gravity the balls still possessed potential energy by being pressed into the table material. When the program was started the physics engine converted this spring energy into a force that kicked the balls above the table surface. Good physics!