Java Help coming up with a program idea

AI Thread Summary
A user is seeking ideas for utilizing their Java calculus library in a program, expressing a desire to integrate their knowledge of calculus and physics. They consider creating a physics simulation, initially thinking about Brownian motion but leaning towards gravity-related simulations. Suggestions include simulating the motion of a dropping ball to graph velocity and acceleration, as well as more complex scenarios involving gravitational interactions between two bodies, which could evolve into orbit simulations and thrust calculations. Other ideas discussed include modeling a spring's force dynamics, projectile motion considering air drag, and simulating the motion of vehicles or robotic arms. The user is also exploring the potential of 3D graphing capabilities within their library, while acknowledging the need for further development in integration and differentiation functions. The conversation emphasizes the importance of creating a program with room for future enhancements and encourages collaboration and sharing of ideas.
Obliv
Messages
52
Reaction score
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)
 
  • Like
Likes RaulTheUCSCSlug
Technology news on Phys.org
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.
 
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/
 
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.
 
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).
 
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.
 
Obliv said:
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/

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.
 
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.
 
Back
Top