Inspiration
I remember that in high school Calculus, one of the coolest parts of the class was when our teacher showed us how to calculate volume with integrals. All the different art that could be made by rotating a graph around an axis was astonishing, so I deciding to try to recreate that a bit here.
What it does
This program allows users a range of freedom in turning any line they have in the classic y = mx + b into a cone or conic section. With as little information as the slope and y-intercept or as many as 6 variables, users are able to choose exactly where the rotation ought to occur and how far up and down the graph should show.
How I built it
I designed this program using some of MatLabs built in plotting functions and using matrices and vectors to figure out the area to span and how high each point within that area should be.
Challenges I ran into
The two main challenges I ran into were getting a nice solid cone established and sorting out how to make cones work upside down in relation to the sign of the slope. In other words, figuring out exactly how to make the math work so that the graph displays the full cone or conic section without cutting any of it off or leaving a lot of extra space was rather troublesome. Getting the slopes to work was rather tricky as having a negative slope would often result in either a flat surface or none at all. The trick, silly as it was on my end, is a matter of making sure the inputs are such that the window of the graph will actually display the cone.
Accomplishments that I'm proud of
This was my first hackathon and I came here fresh from an interview trip, so I was already pretty tired and a bit CS'd out before the event even started. Though I struggled a lot with a couple other ideas before settling on this one, I'm proud I was able to make something somewhat presentable within the timeframe while still being able to venture out and learn about a bunch of different software.
What I learned
I got a lot better at manipulating matrices and thinking within their context throughout this project. I just started taking linear algebra in college, so that whole area of math is rather new to me. Learning how to manipulate and work with vectors and matrices from a more mathematical perspective was a lot of fun and I think it will be very useful for me this quarter.
What's next for 3 Dimensional Linear Rotations
I'm considering expanding the project to be able to handle more different kinds of graphs, like parabolas, cubic functions, trigonometric functions, and maybe even things like logs. Furthermore, though it is minor, I'd like to expand the colormap some more.
Log in or sign up for Devpost to join the conversation.