Help coming up with a program idea

In summary, the author suggests making a program that uses calculus to interact with a dropping ball, calculates the acceleration, and also considers gravity between objects. There are many other avenues that the program could take, depending on the interests of the user.
  • #1
Obliv
52
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
  • #2
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.
 
  • #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/
 
  • #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.
 
  • #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).
 
  • #6
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.
 
  • #7
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.
 
  • #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.
 

FAQ: Help coming up with a program idea

1. What are some strategies for brainstorming program ideas?

One strategy for brainstorming program ideas is to identify a specific problem or need in your community or field of study and think about potential solutions. Another strategy is to draw inspiration from your personal interests, skills, and experiences. You can also look at existing programs and think about ways to improve or adapt them.

2. How can I ensure that my program idea is unique?

To ensure that your program idea is unique, you can conduct thorough research to see if similar programs already exist. You can also seek feedback from colleagues, mentors, or potential participants to get their perspectives and identify any gaps in existing programs.

3. How do I determine the feasibility of my program idea?

Determining the feasibility of your program idea involves considering factors such as resources (e.g. budget, staff, equipment), potential partnerships, target audience, and potential challenges. You can also create a timeline and action plan to help assess the practicality of your idea.

4. How can I make sure my program idea aligns with my goals and values?

To ensure that your program idea aligns with your goals and values, it is important to clearly define these elements before brainstorming. As you develop your idea, continuously refer back to your goals and values to ensure that your program stays true to your vision.

5. How can I get feedback on my program idea before implementing it?

There are several ways to get feedback on your program idea before implementing it. You can create a survey or questionnaire to gather opinions from potential participants or experts in the field. You can also present your idea to a focus group or seek feedback from colleagues or mentors. Additionally, you can test your idea on a smaller scale before launching it fully.

Back
Top