Jump to content

Gravity Simulation


Recommended Posts

First off i think this script belongs in the example scripts section, but the forums don't let me post there, I know what a jerk.

Anyway, i had a random urge to create a gravity simulation one day. I was fantasized by the way atoms and galaxies move in orbits.

After many, many, versions i devolped the thing you see here.

First it was 2D. Then I did some research and developed a 3D rendering method in AutoIT. These calculations are in the code, just look for them if your interested. All i ask is you give me props.

I hope to oneday make this a screen saver, as it would be amazing, The running script has mesmerized my friends and I many times and I think it will get you too.

Anyway the simulator has many functions: Gravity, 3D, Color Modes, Panning, and many other controls.

The Hotkeys Are:

HotKeySet("\","restart")

HotKeySet("{numpadsub}","zoom_out")

HotKeySet("{numpadadd}","zoom_in")

HotKeySet("{numpad4}","left")

HotKeySet("{numpad8}","up")

HotKeySet("{numpad6}","right")

HotKeySet("{numpad2}","down")

HotKeySet("{numpaddiv}","select_inc") ;select next particle

HotKeySet("{numpadmult}","select_dec") ;select last particle

HotKeySet("{numpad5}","select_mode") ;follow selection

HotKeySet("{numpad7}","color_mode") ;data mode or colorful

so pretty much the number pad

One day I hope to add camera and particle rotation along with magnetic charge.

My ultimate goal is to have it simulate all the major scientific forces that work on atomic particles.

so tell me what you think, and maybe the forum computer will let me post on the example scripts one day.

Atom_v0.00_.au3 the cool one...

Planitiod_2.01_.au3 is one of the many earlier versions, its still in 2D. It also has no controls.

Link to comment
Share on other sites

Oooooooh noooooo. We're all doomed! We're all going to be sucked into that big round swirly thing in the middle of our screens!

The planets one is fantastic.

I've only got some very minor points;

The radius of coalescing particles should be sqrt(mass/pi) to be consistent, though I realise it makes no real difference to the program and I'm being very picky. (I would prefer that the mass was pi*r^3/0.75 but I know you said it was 2D.)

I think

GUICtrlSetState($Draw_Field,0x000F)

should be

GUICtrlSetState($Draw_Field,$GUI_SHOW)

it won't make any difference to the program either but I am surprised it works.

I've seen some very impressive first posts but this is difficult to beat. I think my first post was something like "where do I find the help file?".

Serial port communications UDF Includes functions for binary transmission and reception.printing UDF Useful for graphs, forms, labels, reports etc.Add User Call Tips to SciTE for functions in UDFs not included with AutoIt and for your own scripts.Functions with parameters in OnEvent mode and for Hot Keys One function replaces GuiSetOnEvent, GuiCtrlSetOnEvent and HotKeySet.UDF IsConnected2 for notification of status of connected state of many urls or IPs, without slowing the script.
Link to comment
Share on other sites

Truely amasing work my friend!!! :)

I applaud your ability to work in auto it and hope that i will become as good as you.

[center][spoiler]My little joke!!!![/spoiler][/center][center]!!!!!!!!!!!!!!!!!!!!!!!!!!!!![/center][center]Best code site ever[/center][center]!!!!!!!!!!!!!!!!!!!!!!!!!!!!![/center][center][spoiler]My litte joke!!!![/spoiler][/center]

Link to comment
Share on other sites

Oooooooh noooooo. We're all doomed! We're all going to be sucked into that big round swirly thing in the middle of our screens!

The planets one is fantastic.

I've only got some very minor points;

The radius of coalescing particles should be sqrt(mass/pi) to be consistent, though I realise it makes no real difference to the program and I'm being very picky. (I would prefer that the mass was pi*r^3/0.75 but I know you said it was 2D.)

I think

GUICtrlSetState($Draw_Field,0x000F)

should be

GUICtrlSetState($Draw_Field,$GUI_SHOW)

it won't make any difference to the program either but I am surprised it works.

I've seen some very impressive first posts but this is difficult to beat. I think my first post was something like "where do I find the help file?".

I made planetoids before i had found the refresh command. Also I found that GUICtrlSetGraphic($Graphic,$GUI_GR_REFRESH) is really the only way to go.

It took me forever to find that GUICTRL...0x000F) command, and my dad who also frequents the forums told me I was doing it wrong but didn't know the right way to do it either.

Also Atom v0.00 has the correct mass and volume formula, one day I want to add varying densities.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...