Graphing Calculator Release Devlog


Graphing Calculator is an idea I’ve been interested in creating for 10 years.

I took a programming class around 10 years ago and, at that time, I had taken a couple of calculus classes. I was immediately interested in the idea of creating a program to apply calculus concepts, like approximating limits. I started with hard-coding some equations, but I wanted to scale the project to input and process any function. I am aware that there are many programs that do these calculations, but the prospect of programming it myself was a multi-faceted challenge that interested me. For this same reason, I did not bother (and still don’t for any of my projects) looking up code or solutions that would make this project easier to complete.

As much as I enjoyed the computer programming class, there was no availability at my school to take successive programming classes. This led me down a different path in the sciences; a path that stopped when I took a multi-year break from school. Even when I was out of school, the idea of this program was always in the back of my mind. 

When I started programming in Unity, one of the first things I created was a program that computed the volume of solids using discs. I was successful, but the program was still hardcoded. I put this project on hold and continued developing other systems of interest in Unity. A year ago, I enrolled in school again–this time to study computer science. With my experience developing games and a genuine interest in programming, I was constantly reflecting on ways to implement the concepts I learned in class into my personal projects. During one of these reflections, I had a “brain blast” that incorporated the use of binary trees to organize programming language compilation. I started developing the program in C++ and worked on it in between classes and during my free time. Within a week I had a perfectly functional program that was ready for porting to Unity. 

At the beginning of development, my plan was to use “buttons” as a way to restrict the user input. It was the easier route that would have eliminated programming considerations for different inputs, but I wanted a more free and open experience. With that, I replaced the buttons with an input text box, which was a “small” change that required a lot of problem solving. I also added the option to view the 2D and 3D graphs, as well as the binary tree, for those who might be interested in the implementation of the orders of operation.

As it currently stands, this program is a useful way to visualize the various limiting processes for calculating areas/volumes. The default (and currently only) viewing option explicitly shows how dividing the process into smaller segments increases the accuracy of the end result. It's also a fun way to create interesting 3D objects. I hope you find this tool to be simple, yet powerful.

Until next time, 

Z

Leave a comment

Log in with itch.io to leave a comment.