# Computational Geometry and Topographical Maps

Everyone has seen a topographical map at some point during their life. In addition to the information that regular maps have, topographical maps typically show land features and elevation. How are these maps generated? Given that it's not possible to sample the elevation at every single point in the area of interest, we must use some sort of interpolation. To tackle this mathematically, we should make a few simplifications. As you might agree, the Earth is round. However, if we consider the ...

# 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...

# 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...

# 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...

# 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 ...