Fiz uma pergunta semelhante em physics.stackexchange , ignorando este site.
Estou basicamente procurando uma maneira eficiente de implementar campos gravitacionais.
Eu tenho um espaço 2D enorme, com milhares de objetos. Preciso simular como esses objetos são afetados pela gravidade um do outro.
Eu pensei que seria possível classificar os objetos em coleções e verificar todos os objetos fora dessa coleção contra essa coleção, e não todos os objetos individuais dentro dela. Logo cheguei à conclusão de que isso simplesmente não era possível. O campo gravitacional de vários objetos não pode ser representado como um campo uniforme, calculado com apenas uma massa e distância.
Todo objeto dentro da simulação pode ser considerado uma esfera. Eu estou bem com aproximações, desde que pareça razoavelmente realista.
fonte