Forgot your password?
typodupeerror
Education Programming Science

Simple, Portable Physics Simulations 145

Posted by timothy
from the for-kids-and-other-humans dept.
ttsiod writes "I want to 'lure' my nephews/nieces towards Science and Engineering (to whatever extent that's possible, in the age of consoles). To that end, I have coded simple physics simulations, like falling snow, exploding fireworks, and 1D/2D wave simulations. My efforts are here, in the form of portable SDL mini-programs (GPL code, compilable under Windows, Linux, Free/Net/OpenBSD, Mac OS/X and basically every OS with GCC and SDL). Try them out, and do offer any suggestions on other programs that can trigger scientific interest in young minds. Myself, I am teaching them Python, so that they can code 'fireworks' on their own."
This discussion has been archived. No new comments can be posted.

Simple, Portable Physics Simulations

Comments Filter:
  • wot? (Score:5, Interesting)

    by sammyF70 (1154563) on Sunday August 16, 2009 @01:32PM (#29085121) Homepage Journal
    I seriously have to ask : what does a 1-Dimensional wave look like????
    • Re:wot? (Score:5, Informative)

      by FlyByPC (841016) on Sunday August 16, 2009 @01:37PM (#29085161) Homepage

      I seriously have to ask : what does a 1-Dimensional wave look like????

      A compression wave. Think of a sound wave traveling along a very slender rod, after a hammer hits the end.

      • Re: (Score:3, Informative)

        by Compholio (770966)

        I seriously have to ask : what does a 1-Dimensional wave look like????

        A compression wave. Think of a sound wave traveling along a very slender rod, after a hammer hits the end.

        If you want to demonstrate this phenomenon visually in the real world you can use a slinky. Just tape down one end and confine it to a track with a couple of boards, push the free end and watch the compression wave travel down the slinky.

      • by Hatta (162192) *

        It's still 2 dimensional. One dimension is distance, the other dimension is density.

        • by Jared555 (874152)

          Actually you could still represent density with one dimension. The closer the dots are the denser the material.

        • by JobyOne (1578377)
          You're wrong. Every metric is not a dimension.

          Am I four-dimensional because I have varying levels of density throughout my body? Nope. I certainly am not.
    • by Jurily (900488)

      Like Morse code.

    • Re: (Score:2, Interesting)

      by NoMoreFood (783406)
      Think guitar string for 1D. Think ripple from rock being dropped in water for 2D. Think cell phone transmission for 3D.
      • Re:wot? (Score:5, Informative)

        by History's Coming To (1059484) on Sunday August 16, 2009 @01:59PM (#29085333) Journal
        Nope, you're a dimension out (fencepost error?!).

        1D: Compression wave in a single dimension, like the "striking a rod" example above.

        2D: Guitar string. A string is a single dimension (eg left to right) but you need a second dimension for it to vibrate up and down.

        3D: Ripples in a pond. The pond surface is a plane (2D, left/right, forward/back) but the wave is a displacement in a third dimension (up/down).
        • Re:wot? (Score:5, Informative)

          by gardyloo (512791) on Sunday August 16, 2009 @02:28PM (#29085545)

          Actually, your parent poster is correct: a transverse wave like on a string can be parametrized by one coordinate, since the displacement isn't a dimension. So both compressional and transverse waves on a string can be said to be 1D _in_space_: give an x-coordinate, I can tell you the displacement at a given time (or, if you're masochistic, take the one spatial dimension to be the length along the string from some origin).

              2D: ripples on a pond. Need an (x,y) to specify the location; the other number is the displacement (or density, or velocity; doesn't matter).

              3D: ripples in a volume, such as sound waves in an unbounded medium, electromagnetic waves in space, etc. There are two ways to be "off" by one dimension in problems such as these:
                              1) count time as a needed dimension (usually, it's treated as a parameter, especially for time-harmonic problems, but sometimes it's really needed, as in SR and GR);
                              2) not take advantage of symmetries in the problem, which can sometimes collapse the problem to a lower dimension (or _almost_ lower dimension).

          • How is the displacement not a dimension? Because it clearly is.

            • by gardyloo (512791)

              Explain to me how it's a dimension. And use the standard, physics/math definition of 'dimension', please. No making shit up.

        • Re: (Score:3, Informative)

          by Manchot (847225)
          It's really kind of misleading to say that a guitar string is a 2D wave, or a ripple on a pond is a 3D wave. Really, there are two separate concepts: the dimensionality of the domain of the wave, and the dimensionality of the wave itself. A compression wave and a guitar string are both one-dimensional waves in a one-dimensional space. A ripple on a pond is a one-dimensional wave on a two-dimensional space. Sound in a room is a one-dimensional wave in a three-dimensional space. Electromagnetic waves are six-
        • by RockDoctor (15477)

          Nope, you're a dimension out (fencepost error?!).

          I'd say that your count of categories is wrong. A wave has a fundamental property - it's direction of propagation. Given that, there are two (non-exclusive) classes of waves :

          "1D:" Compression wave in a single dimension, like the "striking a rod" example above.

          These are waves where the direction of travel of the wave is parallel to the the direction of motion of the particles comprising the medium of propagation.

          2D: Guitar string. A string is a single dimens

    • Re: (Score:1, Funny)

      by Anonymous Coward

      the progress bar when windows xp boots up

    • Sound is a 1D signal.
      • by gardyloo (512791)

        Only infinitely far from a point source in an unbounded medium, or if you're talking about compressional or transverse waves on a 1D object (plane waves in an infinite half-space; naiive guitar string waves, etc.). Otherwise, sound is intrinsically 3D, and is much harder to model accurately (usually) than electromagnetic waves, because things like Lamb waves, Love waves, etc. lead to the need for tensor descriptions rather than the usual vector descriptions.

        • Sound is usually recorded at one point, the microphone. Except if you want to create a 3D microphone which would not be that interesting for sound recording, the only remaining dimension is time. You mistake sound with a mass of compressible fluid. It is like mistaking a picture (which is a 2D signal) with a volume of matter.
          • by retchdog (1319261)

            No it isn't.

            Here's a hint: the word stereo (as in stereophonic) comes from the Greek word "stereos" meaning "solid".

            • Like we have two eyes to appreciate the distance, but we do not see the objects behind. We have two ears, and I do not see how two sounds can make me know exactly how the pressure of the air around me is at each point.
          • by gardyloo (512791)

            Um... you understand that the microphone's position is in 3D space, right? And one can use accelerometers rather than microphones, which record 3D movement, not just a scalar pressure.

            • The sound is what we hear.
              • And to come back to the original question, it was about trying to picture a wave signal that is 1D. This person did not wonder about a signal in 2D, certainly because this person understood that a picture is a 2D signal. Now if you think that a sound is 3D just because it involves a 3D volume of compressible matter, then you have to say that a picture is also 3D because it is a projection of a real 3D scene. Then you should also wonder how a 2D signal could be represented.
              • by gardyloo (512791)

                The sound is what we hear.

                Erm. Okaayyyy....

                By saying that sound is 1D, you've basically said that, "No matter how I move my head, I'm going to hear the same sound, _but_I'm_only_allowed_to_move_along_a_certain_path_." It doesn't allow for spherical or circular spreading. Nor does it allow for interactions with objects in a room.
                I don't think you're getting that you can measure any field at a single point in space (it's what it _means_ to be a field, or be characterized by a field equation). That has nothi

        • Only infinitely far from a point source in an unbounded medium, or if you're talking about compressional or transverse waves on a 1D object (plane waves in an infinite half-space; naiive guitar string waves, etc.). Otherwise, sound is intrinsically 3D, and is much harder to model accurately (usually) than electromagnetic waves, because things like Lamb waves, Love waves, etc. lead to the need for tensor descriptions rather than the usual vector descriptions.

          Love waves? Is that what they call the vibration mode my bed takes when I'm engaging in coitus?

          I'm not even going to conjecture on Lamb waves, beyond "Those poor ovines."

    • by l0b0 (803611)
      Like this: --- - That is, the stack of atoms (or whatever) is compressed in some areas, and sparse in others.
  • Age/Goal? (Score:2, Informative)

    by DDDKKK (1088707)
    Looking at the summary as well as at the webpage it does not become clear how old the mentioned kids are and if the goal is really understanding science and engineering. For a younger age things like http://www.crazymachinesgame.com/ [crazymachinesgame.com] which give a more playful introduction to physics might be better. Programming for kids has been addressed multiple times on Slashdot.
  • FreeBASIC (Score:4, Informative)

    by FlyByPC (841016) on Sunday August 16, 2009 @01:36PM (#29085153) Homepage
    OK, so it doesn't have "teh s3xy" of Java, Python, or Ruby -- but BASIC is very easy to pick up, and with modern dialects like FreeBASIC [freebasic.net], you can write good, modular, maintainable programs. It's also a lot of fun, which seems to be especially important; you can write a quick simulation of whatever you're interested in, without a lot of work.

    This isn't your father's BASIC; it has support for lots of memory, 32-bit graphics, user data types, functions and subroutines (including passing by reference or value), and even multithreading including mutexes. Or you could use it to run older QBasic programs from the Dark Ages, complete with line numbers, LET statements, GOTOs, and all that.

    Pick up FBIDE [freebasic.net] while you're there, too.

    ...Oh, and did I mention that both FreeBASIC and FBIDE are free?
    • by Jurily (900488)

      This isn't your father's BASIC;

      I learned BASIC on a C64, you insensitive clod!

      P.S. I'm 23 and have no kids.

    • Re:FreeBASIC (Score:5, Insightful)

      by K. S. Kyosuke (729550) on Sunday August 16, 2009 @02:12PM (#29085417)
      In order to save children from the hell called Basic, Seymour Papert created a nice language called Logo.
      • Re: (Score:1, Insightful)

        by Anonymous Coward

        Generations of programmers learned BASIC as their first language. To "save" people from BASIC might deprive them of an important learning experience, just like young programmers often don't learn assembly language anymore.

        • Assembly is actually useful (see Knuth), Basic (at least the "classic" variant), however, does not make any sense today. Actually, it made no sense even on 8-bit machines where Forth was faster (compiled and offering clean assembly/machine code interoperability) and much saner (named functions, structured programming constructs, functions with variable number of input and/or output arguments...)
      • by FlyByPC (841016)
        Could have been worse.

        Could have been LISP.
      • In order to save children from the hell called Basic, Seymour Papert created a nice language called Logo.

        And there are some very nice modern Logo derivatives (StarLogo and NetLogo, for instance.)

    • I learned to program on my TI-83+...mostly from the TI-Basic examples in the back of the manual and then playing around with it for a few years.

      It wasn't the fastest way to learn to program but hand-copying the Sierpinski triangle example (the one that sticks in my memory...there were more I am sure) did a good job of teaching me where in the menus the different commands were. From there, it would be the occasional little program to automate a math process for class or a little fun widget that basically

      • by Sir_Lewk (967686)

        Same here, that Sierpinki triangle was actually the first program I ever wrote (well ok, transcribed). The TI-83+ is a great place to start in my opinion. It's rather simple but it's very easy to see how it's relevant to real life.

        From the 83+ I moved on to the 89, which I learned how to program in C, which lead me into the great big world of modern programming :)

    • Re: (Score:3, Funny)

      by Lorkki (863577)

      Hey, if it's old-fashioned stuff you find t3h l33t, why not teach the kids Brainfuck [wikipedia.org]? It's essentially the same language as P", devised by the man Böhm himself in 1964, way before all of this pish posh about how to conveniently build non-trivial programs, but also including the modern concepts of input and output. Make no mistake, however - with only eight operations to choose from, it's about as simple as you can get, and many a programmer will attest that it's fun to play with!

    • by cthulhu11 (842924)

      CMU Tutor was doing this sort of thing 20+ years ago.

    • You're a sadist, aren't you? :P

  • When I was attending Syracuse U. in the early nineties, a cool elective class came up for us physics nerds attempting to align with the dawn of computer programing en masse. For a nerd like myself, this was absolutely appealing. It included small programs simulating exactly what you note, and beyond.

    I would say your efforts need to include the real world though - getting kids excited about mapping physics and mathematical colloquialisms on a computer also needs to have roots in the physically applicabl
  • Physics Simulators (Score:5, Informative)

    by brycef (866665) on Sunday August 16, 2009 @01:42PM (#29085217)
    It is not programming, but Phun [phunland.com] is a good 2-D physics simulator for kids.

    Another that takes a bit more work is Google's Sketchup [google.com] with the SketchyPhysics [google.com] plugin.
    • Re: (Score:2, Informative)

      by Chris Shannon (897827)
      Kde's Step [kde.org] is a good basic physics simulator. It is part of kde's education project.
      From their description:
      Step is an interactive physics simulator. It works like this: you place some bodies on the scene, add some forces such as gravity or springs, then click "Simulate" and Step shows you how your scene will evolve according to the laws of physics. You can change every property of bodies/forces in your experiment (even during simulation) and see how this will change the outcome of the experiment. With S
    • Re: (Score:2, Informative)

      by anthony.vo (1581427)
      There's this game called Crayon Physics where you draw objects in order to get a ball to the end point. It sounds simple but it challenges you to overcome various physical obstacles like getting your ball uphill, or to get your ball into a little catapult, and creating a counterweight to launch it to the end point. Neat game, check it out. http://www.crayonphysics.com/ [crayonphysics.com]
    • by bcrowell (177657)

      It is not programming, but Phun is a good 2-D physics simulator for kids.

      I'm chicken to run software on my machine that's from a random unknown person, and totally closed source.

      Another that takes a bit more work is Google's Sketchup with the SketchyPhysics plugin.

      Too bad it appears to be for windows only.

    • by FlyByPC (841016)

      Another that takes a bit more work is Google's Sketchup [google.com] with the SketchyPhysics [google.com] plugin.

      I'd say "mod parent up," but it looks like you already got a very well-deserved +5 Informative. Thanks for a great suggestion. I've taught myself enough SketchUp to get by in the past few months (we got a 3D printer at work, which was great motivation) -- it's very nice to have a physics engine for it.

      Now to find out how to create and use the servo joints...

  • Other such programs (Score:1, Informative)

    by Anonymous Coward

    That's a nice thing to do for your kids. If you want to show them more such programs, or draw inspiration, I recommend this collection [falstad.com] of Java applets.

  • physics games (Score:1, Interesting)

    by Anonymous Coward
    Phun has already been suggested and it's good. another good game is garry's mod. http://www.youtube.com/watch?v=Ae6ovaDBiDE [youtube.com] with the two addons (PHX and wire that 90%+ people have) its possible to program inside the game. check out wiremod.com/forums to see what's possible.
  • Paul Falstad Applets (Score:5, Informative)

    by Wookie Monster (605020) on Sunday August 16, 2009 @01:53PM (#29085289)
    A much larger and cooler collection of physics applets can be found at http://www.falstad.com/mathphysics.html [falstad.com]
  • Try NetLogo (Score:2, Interesting)

    by Anonymous Coward

    You might want to take a look at NetLogo (http://ccl.northwestern.edu/netlogo/). To quote the documentation: "NetLogo ... comes with a Models Library, which is a large collection of pre-written simulations that can be used and modified. These simulations address many content areas in the natural and social sciences, including biology and medicine, physics and chemistry, mathematics and computer science, and economics and social psychology."

    The models demonstrate some nice concepts and are easy to modify and

  • Simple games (Score:2, Insightful)

    by Anonymous Coward

    Make a simple game that involves particle physics. Wave physics is a bit too complicated, unless your nephews are in later classes of high school. I would suggest something like Scorched Earth.

  • This is great to see, very easy to compile and to play around with. During a little extra time about 5 years ago I explored particle simulations with forces similar to electrostatic and atomic forces. Also had fun doing some stuff with artificial life. That was all on Windows NT and used OpenGL but I wrote my own library in C++ so I'll have to hook that library up with this code and re-release some of those toys under the GPLv3. ForceMaster was what I called it back in the day.
  • Just buy some... (Score:5, Insightful)

    by oh2 (520684) on Sunday August 16, 2009 @02:09PM (#29085395) Homepage Journal
    ...real fireworks for them instead. The real thing beats just about everything and eyebrows grow back, you know. :)
    • by RabidBob (198706)

      Even better, show them how to make black powder and then fireworks. Pass on an important life skill, teach them safety when dealing with dangerous substances and have a boatload of fun too.

  • by magneticstorm (47620) on Sunday August 16, 2009 @02:10PM (#29085403)

    Since you have a strong interest in visualizations of physics phenomena, and you're already teaching your nieces and nephews how to write Python, I'd like to suggest that you check out VPython [vpython.org], which is a series of 3D extensions to Python. In particular I think you'll be intrigued by these examples [visualrelativity.com] which visualize everything from wave superposition, to magnetic fields, to concepts from relativity. For immediate gratification, the author of that examples page also has Wiimote integration, so you can bridge interest that your relatives might have in video games into an interactive experience in your physics environment.

    Good luck!

  • Good work, but... (Score:5, Interesting)

    by Mike Rice (626857) on Sunday August 16, 2009 @02:14PM (#29085445)

    Simulations that are useful for learning must be grounded in reality. They must give the learner a chance to extrapolate principles from their own personal hands-on observations to the simulation.

    Without original personal observation of physical phenonema, simulations are little more than 'das blinken lights' to the learner.

    Don't get me wrong, the stuff offered by the OP is good. And if the kids in question already have an interest in the subject, its great.

    But to spark an original interest takes hands-on, thought provoking experiments that the learner may manipulate in any way they wish (some of which you probably never thought of).

    Example. Electromagnetism. My 8th grade grandson (yup I'm an old geezer who cut my teeth on vacuum toobs and RTL) learned a lot about the interplay between electric and magnetics fields just today. I suspended a magnet on a string, over an aluminum plate, and just left it there for him to find, and play around with. After he had done so, he asked why when the plate was present the pendulum swiftly assumed a stable position, whereas when the plate was absent the pendulum assumed a rather chaotic motion... even though the magnet was obviously not attracted to aluminum.

    After explaining it to him and allowing him to further explore the physics with magnet wire and batteries, he came away with a firmer grasp on electromagnetism, a grasp I highly doubt he would have gotten from a canned simulation. Now that he has made a connection in his mind between the seen (magnetic damping of the pendulum motion) and the unseen (electrical currents in the aluminum plate, and the ensuing magnetic field), a simulation would allow him to further explore the subject without requiring expensive laboratory equipment.

      So, Kudos for the work, but you have to get out there and actively, physically engage them with hands-on experiments. After, that is really what science is about!

    • by pz (113803)

      Example. Electromagnetism. My 8th grade grandson (yup I'm an old geezer who cut my teeth on vacuum toobs and RTL) learned a lot about the interplay between electric and magnetics fields just today. I suspended a magnet on a string, over an aluminum plate, and just left it there for him to find, and play around with. After he had done so, he asked why when the plate was present the pendulum swiftly assumed a stable position, whereas when the plate was absent the pendulum assumed a rather chaotic motion... even though the magnet was obviously not attracted to aluminum.

      Y'know, I'd have expected to have run into this experiment somewhere along the way, given my background, but it's the first I've heard of it. IT'S FRELLING BRILLIANT!! What a fantastic way to explore magnetism and electricity, and to encourage exactly the right sort of curiosity.

      Now, if I can only figure out why a convecting conductive volume creates a magnetic field (like the dynamo that everyone says powers the earth's magnetic field; it must be true since so many smart people think it is, but I just ca

      • by Mike Rice (626857)

        Zero NET charge (in a 'closed' system).

        If that net charge is evenly distrubuted in a system, nothing interesting happens.

        If that charge is distorted in any way shape or form, an electric current will flow.

        if a current flows, a magnetic field will be generated.

        If any conductor moves through that magnetic field, a new (weaker) electric field will form, generating (weaker) currents of its own, and corresponding (weaker) magnetic fields and... you get the drift.

        Open up any 'closed' system to external inputs of

        • by pz (113803)

          Right, right, right. But every geophysicist I've spoken with on the subject says that it's the molten iron outer core that is convecting and therefore inducing the field.

          The outer core is a conductor. It's metal. Why should charge be distributed anyway other than evenly? There's no net imbalance of charge, which means, it can at most be a somewhat local imbalance. Assuming the worst, where the convecting charge-carrying material is actually an insulator, and the distributed charge was reduced to two po

          • Re: (Score:3, Interesting)

            by Alsee (515537)

            I had wondered about the earth's magnetic field too, but I think get it now.

            Any charge imbalance gets very very quickly evened out.

            Evening out a charge imbalance means a movement of electric charge. That is an electric current, which creates a magnetic field. Magnetic fields induce electric fields. In the extreme case of light a collapsing electric field creates a magnetic field which then collapses into an electric in a self sustaining cycle. In a theoretical lossless situation any initial electric or mag

  • by Anonymous Coward on Sunday August 16, 2009 @02:15PM (#29085453)

    No, no, no.

    To get kids interested in Physics - or anyone for that matter, a physical real world demonstration is the way to go. The most popular physics professor at MIT is known for his lecture theatrics.

    Shooting metal balls across the room and having them derive an equation will teach them something.

    Computer simualtions are boring! It's worse than watching TV and they will learn nothing. No. Have them create experiments, duplicate classic ones - some of the classic E&M experiments are a hoot and they're easy to build and best of all, they're not a computer simulation. They are REAL LIFE.

    • by Mike Rice (626857)

      Mod parent up. Science MUST be grounded on personal observation.
      Anything else is just dogma.

    • Crayon Physics [crayonphysics.com] is a great game for playing with the basic physics properties of different types of objects in a finger-painting-simple kind of way. It's not comprehensive and it doesn't teach you the theory or equations behind what's happening, but it's great fun and encourages you to think about physics problems in different ways. Physics fun for the whole family (myself included)!
    • Re: (Score:3, Insightful)

      by robbarrett (84479)

      Totally agree. For me (I eventually became a research physicist), the connection point was a simple experiment in a high-school physics class where we were able to predict the equilibrium temperature of the combination of a heated brass weight and a styrofoam cup of water. It was the connection between the math and the reality that was amazing to me -- that you could know pretty much exactly what the result would be ahead of time...and the you could design a particular outcome and make it happen. I guess

  • Another reseource (Score:3, Informative)

    by fermion (181285) on Sunday August 16, 2009 @02:22PM (#29085501) Homepage Journal
    For those who wish additional simulation, check out The PhET Simulations [colorado.edu].
  • A shameless plug this - something a bit odd I created over 10 years on the Amiga and spruced up recently. Worth looking at if you like a mix of physics with tons of particles, and weird Jeff Minter/psychedelia stuff:

    http://www.youtube.com/watch?v=LTW09McfCjA [youtube.com]
    "Chaotic Bouncefloor of Doom"

    Love to port over the program to the PC sometime...

  • Physics 2000 (Score:4, Informative)

    by StarDrifter (144026) on Sunday August 16, 2009 @02:36PM (#29085619)

    The University of Colorado has something called Physics 2000 [colorado.edu] that has a bunch of applets. Click on "Applet Thumbnails" in the top-left frame. One of my favorites is "Satellite orbits" (click on "Upcoming Applets"). You can try to find stable orbits around the Earth. You can try to find stable orbits around the Moon (although I don't think there are any). You can try launching some objects clockwise and some counter-clockwise and see if it is easier to get things in a stable orbit one way or the other. You can launch a bunch of objects in random directions with random velocities and watch most of them die an early death and a few stick around much longer. Sometimes you can see Orbital resonance [wikipedia.org]. The simulation extends beyond the visible portion of the screen so you can even get objects in orbits with very long periods that are only visible for a very short portion of their orbit as they dip close to the Earth and then sail away again.

    • by Manywele (679470)
      The University of Colorado also has something called PhET [colorado.edu] which is a different collection of applets for physics, biology, chem, earth science and math. The physics goes up to basic quantum.
  • This is one of my personal favourites for simulating physics experiments, God knows how many times it was useful in proving my teachers wrong ^.^
    It is very much like a virtual lab. Yenka / Crocodile Clips [crocodile-clips.com] has a version for other branches of science too. Free home use licenses.

    Downside: it's not open source.
  • Throwing in a shameless plug for a game I worked on - Powder Toy ( http://powder.unaligned.org/ [unaligned.org] ) - it may not be physically accurate (at all) but it's a lot of fun and would introduce them to pressure and velocity in a fun way.

  • by Anonymous Coward

    I want to 'lure' my nephews/nieces

    I'm glad the rest of that sentence ended up better than it started out.

  • Newton physics engine has now python bindings maintained by users, and is availible on linux, windows, mac etc.. platforms.
  • Python especially with scipy libraries works extremely well in science, and mplotlib is an excellent and extremely simple to use plotting framework.

    Python seems to be pretty much becoming the standard language in science (at least in physics, is it, I'm a physics PhD student). Almost all new stuff is written in f90 or c++ and tied together with Python, and as a stand alone language, Python is slowly replacing Matlab (thank the gods).
  • by drerwk (695572) on Sunday August 16, 2009 @03:17PM (#29085911) Homepage
    My 10 year old showed this to me : http://dan-ball.jp/en/javagame/dust [dan-ball.jp] It is not exactly physically accurate, but it is really pretty cool and fun, and much more accurate than I expected.
    And can I say fast for what I thought one could get from Java.
  • As opposed to PROGRAMMING

    Get them some building kit like mindstorms. This kid created a mock-car factory [youtube.com] using mindstorms. Just search youtube for lots of similar examples.

    Or kits to build steam and stirling engines [jerry-howell.com].

    Hands-on experience.

  • Demoscene (Score:3, Insightful)

    by gandhi_2 (1108023) on Sunday August 16, 2009 @04:11PM (#29086259) Homepage
    Isn't that what the Demoscene was doing back in the later-BBS days?
  • I really get the sense that you're trying to reinvent the wheel here. If you talk to a decent physics teacher, they could probably point you to a lot of existing tools (and programming toolkits) that do what you want. I've set up several similar math and science environments for various classrooms. And I've certainly never had to write a line of code to do it.

    Are you doing this for pedagogical value or as an excuse to write code that someone besides yourself will use? That's the real question you need to be

  • Mobinet (Score:2, Informative)

    by Hufo (684441)
    Mobinet [mobinet.imag.fr] is an open-source platform for mobile objects programming (simulation, games, graphics, maths-physics, ...). It is developed by INRIA Grenoble in France and used to initiate students (from high school to university) to games programming, or more generally to provide them with a concrete intuitive and fun version of the notions seen in math and physics course.
  • You might enjoy this Kinetic Model [google.com] of elastic collisions.
  • Thank you sir. I think my kids will enjoy this, and if not, then it sounds like there's plenty of other stuff out there that might pique their interest, or at least mine. Special shout-out to the dude who posted the link to FreeBasic.
  • ... at the top of the page http://flexcomm.com/ [flexcomm.com].

  • de Laval nozzles [wikipedia.org] are cool.
  • by Cliff Stoll (242915) on Sunday August 16, 2009 @09:14PM (#29087855) Homepage

    Want your kids to learn physics? Throw away the computer simulations. Build things with them. Run experiments. Observe and think about the results.

        To teach physics, start with things like C-clamps, string, rubber bands, wire, springs, low-friction carts, compasses, magnets, thermometers, balloons, weights, scales, and pulleys.

        More advanced stuff: a voltmeter/ammeter (analog stuff), an old oscilloscope, an air table (a kids' hockey table), vacuum pump & bell jar, countdown timer/photogate, etc. Many of these things show up on craigslist for cheap (I picked up two free oscilloscopes and have given them to my sharp high school students).

        Computer simulations? Naw. Have your kids do real physics:

        A pendulum made of a bowling ball and rope. Time the pendulum swings and then ask: which will change the period - changing the lenghth of the swings, changing the weight, or changing the length of the rope?

        Fool around with a signal generator, an oscilloscope, and a microphone. What's a sound wave look like? How is frequency related to period?

        Play with thermometers, ice, water, and fire. What's the temperature of ice and water? Can you get water colder than this? How hot is water from the kettle? Can you get water hotter than this?

        Get a voltmeter, wire, and some magnets. Can you really induce a voltage by moving a magnet nearby?

        Don't sidetrack your kids with simulations & computer graphics. Real physics starts by fooling around with reality.

        Obs Feynman quote: "It doesn't matter how beautiful your theory is, it doesn't matter how smart you are. If it doesn't agree with experiment, it's wrong."

    • Obs Feynman quote: "It doesn't matter how beautiful your theory is, it doesn't matter how smart you are. If it doesn't agree with experiment, it's wrong."

      It's not nescesarily wrong ... it might not even be right.

      I think he also said something along those lines after reading some guy's thesis?

  • I'm surprised that no-one has posted a link to Easy Java Siimulations [www.um.es] yet. This allows you to get your hands on the equations more.
  • Did anyone suggest Processing yet? http://processing.org/ [processing.org] Java-based, but much easier to get into (has its own editor) - and the site above includes loads of physics / trig etc examples. A great combination for learning programming, maths and physics.
  • The wave simulation is very nicely executed. It does also seem to generate some rather interesting artefacts. If you move the mouse to to very close to a corner and hold it down for a second or so and release. The smaller high frequency wave will interfere to produce a much lower frequency wave with one or two point peaks. This peeks then drift across the screen. I've also managed to produce a standing wave as well. Quite an interesting phenomena but I'm not sure if its really accurate or an artifact of the

Optimization hinders evolution.

Working...