Skip to content


The Big Bang Theory Simple Simulation

If you want to learn anything about the big bang theory, talk to the scientist. But if you want to have some fun, you can try my simple program.

Here’s how it works: It starts starts the “explosion” and than engages gravity(which is just a theory btw).
In each step the program calculates gravitational acceleration for every object in the “universe” so don’t be surprised if you computer is having a hard time dealing with it(suggestions for optimization are much appreciated).

For running the program you’ll need java 1.6 installed on your computer. If simple double click won’t work, you can try run it with the command “java -jar filename.jar” from the console(if it still wont work, you can try building it from the source or post a comment).
If you want to adjust the settings use number keys or arrow keys for moving around.

Download new optimized version: runnable file 0.1b or source code 0.1b

(Older version: runnable file 0.1a or source 0.1a.)

Are you ready for some fine-tuning? ;)

Reblog this post [with Zemanta]

Posted in digital world, science world.

Tagged with , , , , .


10 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. root says

    Help me…

  2. hamax says

    Meni ga normalno downloada preko tor omrezja. Samo zajamra, da bo moral odpreti zunanjo aplikacijo. To pa ni odvisno od serverja. Navsezadnje ta server ne pocne nic posebnega z datoteko.

    edit: Ce bo kej pomagal: klik

  3. root says

    optimization… loh pobrises spam…

  4. hamax says

    Take zadeve se v bistvu poznajo izredno malo, ker java precej optimizira kodo. Pa tudi ce je ne bi, se deli kode ki si jih izpostavil izvedejo relativno malokrat. Dalec najveckrat se izvede while zanka v classu Element, zato sem tist del poskusal relativno lepo spisat.

    Glavni problem je to, da jaz za vsak frame naredim n^3 operacij in tega nikakor ne uspem zbit.

    Ce bo volja, bom celotno zadevo prepisal v c++, pa da vidmo kako hiter je :)

  5. Swizec says

    Sicer se mi ne da gledat kaj tocn se dogaja, ampak enkrat sm programiru neki podobnga in sm algoritm spravu na O(n)-ish.

    Na kaksn nacin racunas sile ki delujejo na delec?

  6. hamax says

    Za vsak delec posebi grem čez vse ostale delce in seštevam sile, ki delujejo nanj.
    Tako da imam za vsak frame O(n^2) zahtevnost. Optimiziral sem tko, da računam smer sile samo kadar velikost ni zanemarljiva.
    Več pa nisem naumil.Verjetno bi se dalo spraviti raćunanje na log n, če bi si hranil že izračunane vrednsti, ker en delec deluje na drugega enako kot drugi deluje na prvega.
    Ob priliki bom zadevo prepisal v Qt in bom probal take zadeve opoštevati. Če pa imaš še kako bolj napredno idejo, bom pa zelo vesel.

  7. Swizec says

    Js sm neki podobnga delu pri iskanju sorodnih tagov pa je najvecja optimizacija prsla pri zaznavanju trkov med “delci”, kar ne vem ce teb kej zlo nuca.

    Ne vem kako ti racunas silo ampak to lahko procesorsko zlo poenostavis tko da samo sestevas matrike, to je taka cist na prvo zogo optimizacija (js vem da v prvi iteraciji sm ful prevec kompliciru racunanje sile). Pol si pa lahko pogledas se razne swarm optimizacije zato ker to kar programiras je v bistvu swarm.

    Men trenutno se zelo neoptimizirana zadeva nardi 1500 epoh swarma v priblizno 10 sekundah z okol 500 “delci”. Se prav je to ene 150 frejmov na sekundo. V pythonu.

  8. Swizec says

    Pingi me na twitter za kej vec, tale tvoj blog mi ne poslje maila ko je nov komentar :P

  9. Tadej says

    Uau, res kul simulacija, sem jo twitnil… :D

  10. Natalie White says

    Penny is really pretty on the series Big Bang Theory, she is quite perky too..~;



Some HTML is OK

or, reply to this post via trackback.