Due to the COVID pandemic, the Susceptible-Infectious-Removed (SIR) model for disease spread has grown wildly in popularity. SIR is a system of differential equations that models the evolution of a disease over time. Knowledge of the SIR model is not necessary to understand this post, but there are many great videos about it online if you want to learn more. My favorites are: Simulating an epidemic by Grant Sanderson, Oxford Mathematician explains SIR Disease Model for COVID-19 (Coronavirus) by...

Read More
# Author: Sam

# Randomblings – Oddity and the Collatz conjecture part 1

It means "random ramblings". No, it's not an actual word, but I've never understood why people keep words separate that are meant to be squished together. If you had a crocodile made out of chocolate, is it a chocolate crocodile? Obviously not - it's a chocodile. Why does everybody always talk about stray dogs? They're straynines. What if your sister likes to read the Communist Manifesto? Is she your Marxist sister? I think you get the idea. I suppose the ultimate opportunity for word squishifi...

Read More
# Creation of MathGraph3D (Part 3 – Coloring and Lighting)

This series focuses on the creation of the original version of my 3D plotting software MathGraph3D. The first part was about the overall structure of the software. The second part was concerned with all algorithms for smoothing and optimizing surfaces. This third part discusses coloring, lighting, and styling the objects that MathGraph3D plots. I'll try to keep this part shorter than the other ones... posts in this series have a tendency to spiral out of control.
In MathGraph3D, every plotta...

Read More
# Creation of MathGraph3D (Part 2 – Surface Algorithms)

Finally, after a few months of promising this post, here it is. This series focuses on the creation of the original version of my 3D plotting software MathGraph3D. The first part was about the overall structure of the software. This second part is concerned with all algorithms for smoothing and optimizing surfaces.
The basic idea of writing a program to plot 3D surfaces isn't too difficult once you get all the 3D space handling techniques covered. A naive script would map a mesh of input poi...

Read More
# The infamous Goat Problem; my fruitless efforts…

The Goat Problem is a centuries-old geometry problem with no closed form solution. If you tie a goat to the boundary of a circular fence that bounds 1 acre of area, how long does the rope need to be to allow the goat to roam exactly half of this area? Back in December 2020, Quanta Magazine posted a story announcing that Ingo Ullisch, a German mathematician, had reached the first exact solution. The trouble with this solution, however, is that it can only be evaluated iteratively. This is due to...

Read More
# Collection of Desmos Graphs – Part 2

Just like last time, I'm going to share a few of my favorite recent graphs on Desmos. This is probably going to become a yearly thing - despite that the previous part was my first post ever, it remains the most popular. That's probably due to the fact that r/visualizedmath on Reddit won't let me post anymore to share my work. Anyway, on with the graphs...
November 2019 MCC Puzzler
Try it yourself: https://www.desmos.com/calculator/qsy5qk4sjv
Last year, I took a couple math classes...

Read More
# Project Euler – Number Spirals

Another Project Euler problem has sparked my attention. This one isn't particularly difficult (much less than the last one I posted about - despite being in the same category of difficulty), but it's an interesting problem with a nice solution. Most people probably don't approach this in the way I did, but for once I think my solution is cleaner than the others that are posted on the forum. The problem statement can be found here: Problem 28 Statement.
Like last time, I'm going to proceed un...

Read More
# Project Euler – Lattice Paths

Recently, I've been doing a bunch of Project Euler problems. If you're unfamiliar with Project Euler, it's a collection of challenging puzzles that require math and programming to solve. The puzzles are grouped by difficulty level. However, I've found that the difficulty can vary wildly within the same group. One challenge that stood out as much harder than the rest is Problem 15. The problem statement can be found here: Problem 15 Statement.
Now, I'm going to continue under the assumption ...

Read More
# Contour plots and their surface counterparts

This is mostly a gallery post, showing the contour plots and 3D surfaces of several functions. All of these images were made with MathGraph3D.
f(x,y) = (sin(x) ^ 2) * (sin(y) ^ 2) * exp((x + y) / 2) / 3 + sin(x + y) / 4 on the region [-4,4] x [-4,4].
f(x,y) = sin(x + cos(2y)) - cos(y + sin(2x)) on the region [-2,2] x [-2,2].
f(x,y) = 1 + (x^3 + y^3) / 32 - 0.25x^2 on the region [-4,4] x [-4,4].
f(x,y) = sin(x + cos(y))sin(y + c...

Read More
# Creation of MathGraph3D (Part 1 – Foundation)

This series focuses on the creation of the original version of my 3D plotting software MathGraph3D. This first part is concerned with the overall structural components of the software.
Before getting into any actual algorithms or math, it’s necessary to set up an outline for how the code will be structured. I decided to create a manager class called “Plot” that would handle everything to do with 3D space and all objects in the calculator. There are five main operations that the Plot must be ...

Read More