Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

What are some good ways of making simulation/modelling?

  1. Sep 12, 2012 #1
    I am using c/c++ and interested in making different types of numerical simulations. Different modelling and systems rendered in 3d.

    1) What are the best/notable 3d engines?
    2) How advanced do I need to be to do this?
    3) Are there any tutorials or guides to doing this.

    I'm interested in building physical, weather, and economics simulations.....and other complex systems.

    I currently have a basic understanding of C/C++....

    Thank you!
     
  2. jcsd
  3. Sep 13, 2012 #2

    chiro

    User Avatar
    Science Advisor

    Hey scout6686.

    Your answer will depend on you supplying more specifics.

    For example are you interested in real-time rendering with interactive environments? Then you want to look at game engines like Unreal and any other easy platforms where you can add content and get an interactive setting up and running.

    If it's non-real time then probably the best kind of platform would be 3DSMAX or Maya with all the plugins up the wazoo (there are tonnes of them) but this requires lots of dollar signs. Also if you have the buckazoids, try Renderman.

    If you don't have the buckazoids and you want to look at something interactive, you should try looking at the open source game engines.

    Ogre3D is a pretty big one with a lot of features.

    The Torque Engine can be purchased for a very small fee and you get the entire open source to the engine which has a lot of functionality which will teach you about some aspects of game design and what a game engine looks like for a very good price.

    So these are a few suggestions.

    In terms of what you need to know? I don't think I can answer this in one post or even one book, but the answer is "everything that you can learn".

    Basically with regard to both the second and third question, you will need to figure out a design if you are writing something with different kinds of requirements than an interactive real time game engine or an offline completely flexible feature packed rendering environment of which both already exist and are very good at what they do (and have been in development for decades).

    Probably one attribute you want to think about is accuracy of the simulation and the trade-offs (and you will have to make trade-offs). You have x resources and you have y demands and no matter what you do x <= y.

    Game engines require you to want to learn about nearly everything: you need lots of math, you need to know networking, algorithms, data structures, optimization (which ends up including specialized platform stuff including the GPU not just the CPU and even sometimes the APU for audio stuff), resource and asset management, geometry (all the kind of computational geometry you might conceive), and then you've got to take all this stuff and integrate it into a way that a) it runs x <= y and b) it's easy to create what you need and get it up and running ASAP.

    There are lots of books for games programming, game engine programming and all that, but my advice is to just get a massive engine or repository that has a very good design structure and plow through it.

    I used to spend a lot of time in this area and dedicated quite a huge portion learning about this kind of thing so I'm glad to pass on anything that you find useful, but the first thing I think you should do before thinking about all this is clarifying exactly what you want and then asking some questions on how feasible it is.

    Basically your approach will be: you want to do x and y already exists, is affordable (or free) and can get me as close to x as quickly as possible so I figure out x in detail, get y, add to y in whatever way is required and eventually get x.

    The y will be external engines, libraries, code snippets, existing assets, and other tools that already exist and thankfully quite a lot do exist.
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook




Similar Discussions: What are some good ways of making simulation/modelling?
Loading...