Pergunta

Eu preciso escrever um simulador muito simples de física 3D em Java, cubo e esferas batendo uns nos outros, não muito mais. Eu nunca fiz nada parecido, onde devo começar? Toda a documentação sobre como isso é feito? quaisquer bibliotecas que eu poderia voltar a usar?

Foi útil?

Outras dicas

Assumindo que você quer começar em como fazê-lo, melhor maneira de começar é com uma caneta e papel. Comece definindo pontos focais do seu aplicativo (como as entidades esfera, cubo etc, regras como a gravidade, colisão etc, decidir hierarquia de objetos etc ..)

Se você sabe como fazer isso, e quer uma cartilha sobre o lado da tecnologia, Swing é uma boa opção para fazer UIs em Java.

Também dê uma olhada aqui: http://www.myphysicslab.com/

lição de NeHe 39 é um bom ponto de partida, é em C ++, mas a teoria é muito fácil de entender.

Um bom java biblioteca física é jmephysics ( http: //www.jmonkeyengine ? .com / jmeforum / index.php topic = 6459 ); é muito fácil de usar e fica no topo da ODE ( http://www.ode.org/ ) e JMonkeyEngine ( http://www.jmonkeyengine.com ) que lhe dá uma scenegraph ( http://en.wikipedia.org/wiki/Scene_graph ), novamente algo que você precisa para qualquer coisa além de um aplicativo 3D muito simples.

Eu não tê-lo usado por algum tempo, porém, e ver que eles não lançaram desde o final de 2007, para não sei como ativa da comunidade é agora.

Como sobre a primeira definição de uma classe para o objeto físico? Tem posição, velocidade, massa e talvez subclasses com outras características como forma, elasticidade etc.

Em seguida, criar um universo (classe) onde colocar esses objetos físicos. Parece divertido:)

Se você tudo que você precisa para simular está esferas / círculos e cubos, em seguida, tudo que você precisa é um pouco de Vector matemática.

Por exemplo, para simular um simples jogo de bilhar cada bola (esfera) teria uma posição, velocidade linear 3d e 3d vector de aceleração linear. Sua simulação envolveria muitos quadros pequenos, que atualiza continuamente cada bola. Se duas ou mais bolas colidem você simplesmente somar os vetores e calcular as novas velocidades para todas as bolas. Se a bola atinge a parede, por exemplo, tudo o que é necessário é para virar o sinal da bola para tê-lo saltar para trás ...

Se você quiser fazer isso a partir do zero, ou seja, codificação do seu próprio motor de física, você tem que saber os prós e contras da trás matemática para alcançar este objetivo. Se você tem um bom fundo de matemática que você vai ter um avanço de outra forma uma íngreme curva de aprendizado está à frente.

Você pode começar neste fórum da comunidade para coletar informações sobre a forma como as coisas são feitas: gamedev.net

Claro que você poderia usar um motor opensource como Ogre se você não quer código de seu próprio país.

Confira bulletphysics. bulletphysics.com é o fórum ou verificar o projeto no Sourceforge .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top