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

Java Help coming up with a program idea

  1. Jun 17, 2015 #1
    Hello, I have a working calculus library for java and want to use it in a program. I don't have very many ideas. I have limited Calc. II knowledge but a strong understanding of Calc. I. I have an intermediate understanding of java (took 3 courses at my high school of it), and a solid algebraic physics background. I want to fuse all of my knowledge into this program but need help with ideas. I was thinking perhaps I could make a physics simulation involving calculus? I don't know of one that would be suitable. Any suggestion is appreciated, thank you. (I was thinking of brownian motion but not sure how well that would work)
  2. jcsd
  3. Jun 17, 2015 #2


    User Avatar
    Gold Member

    A interesting and very easy one would probably be making program that interacts with dropping a ball at a certain height and graphs velocity and acceleration as a function of time as gravity acts on it. This would use calculus to figure out the acceleration. Another idea based off this but perhaps a bit more "fun" and complicated would be to create one that uses gravity between two bodies and the user is able to input the values of the bodies and the distance away from them. You could later probably add on to this greatly with collisions and what not.
  4. Jun 18, 2015 #3
    Yeah I also considered gravity between objects, maybe even circular orbits (ellipses would be much more complicated, right?). I want an idea that has room for re-use and improvement, so I am considering gravitation between objects. I will look into the other avenues it can lead for the future (like I mentioned perhaps orbits, or determining thrust force required to travel a certain distance away from an object and allow the user to access the gravitational force at each point along the way). Is this a good idea? The library has a graphing class and a 3D graphing class (no idea how to use that, assuming calc 3 knowledge required?), if that is significant.

    in case anyone is interested, the library is open-source linked here: https://code.google.com/p/javacalculus/
  5. Jun 18, 2015 #4
    Another force idea, a bit simpler than dealing with multi-dimensional orbits, would be just stretching out a spring. The force required to expand the spring another unit dx would increase as the the spring grew longer. You could calculate the total work required to stretch or compress the spring some input distance from its equilibrium point, or even from some other input starting length.
  6. Jun 18, 2015 #5
    Somewhere in between a simple spring and a complex 3-d orbit could be a 3-d projectile problem, such as a large cannon being fired into the air at some angles. You could consider maybe two orders of air drag, and even the rotation of the earth out from under the projectile (this last derivation is likely beyond algebra based physics, but the final form is common can be looked up).
  7. Jun 18, 2015 #6


    User Avatar
    Science Advisor
    Gold Member
    2017 Award

    A class of problems the has a lot of application in engineering is to simulate the motion of an automobile, an airplane, or a robotic arm, given some control inputs. You might be able to start out simple. Then let it grow in complexity and realism in whatever directions grab your interest. I think you could find groups on the internet that share interests in that.
  8. Jun 18, 2015 #7


    User Avatar
    Gold Member

    For elipses I am pretty sure you could use Kepler's law and some geometry. As for if you wanted to make a 3D model, I'm not sure how much calc3 knowledge you would need. If you took calc 1 nd 2 then the basic idea to get you going shouldn't be to hard.

    Also you should try this open source language called NetLogo, we used it in high school to create models and simulations and has the ability to make 3D simulations as well. Like I said, it is open source and many other people have used it for some interesting simulations. You could even use a currently existing one and improve upon it! Keep me up to date on what you end up doing.
  9. Jun 23, 2015 #8
    I ended up making a simple gui that asks the user which calculation he/she wants to perform: finding work and force required for compressing/stretching a spring of an inputted spring constant. Or, the work and force required to bring two objects further away from each other or closer together. The program was going well until I realized my calc library didn't have an implementation of integration and differentiation yet lol (the author tried to return a rational expression instead of a numerical approximation) so I looked online and borrowed an algorithm to numerically integrate a function. The algorithm was an adaptive quadrature (I also tried trapezoid rule, simpson's rule, ridder's algorithm) and worked fine. What I want to work on in the future is: a more complicated visual (possibly an actual simulation instead of just a calculation), complexity in what it can do (perhaps numerical differentiation or multiple parameters). Thank you for the suggestions everyone.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook