Logan Richan

About Me

img

A problem solver to my core, especially when it comes to challenges involving logic, programming, math, and/or physics. I can implement anything. Excellent and fast learner. On HSK 5 Standard Chinese learning. Also into astronomy and philosophy. You can usually find me working on some programming project or studying Chinese.
如果你能懂这句子,你好!
欢迎来到我的网站!

Skills

img
img
img
img
img
img
img
img
img

My Projects

img

Abzug

Abzug is a puzzle game, now released on the Google Play Store. Download Abzug here, or you can play the Browser Demo here.

Sliding Puzzle Algorithm

An image is processed into a randomized sliding puzzle, then my algorithm solves it. The algorithm works for any MxN size, but is only made to handle images on NxN grids to not cut off or distort the images. The video shown solves a 5x5 puzzle repeatedly.


Remote-Programmable Scrolling Text Display

An 8x8 LED dot matrix displaying scrolling text using an Arduino that is fully programmable using a remote. The system is designed to have 30 texts with up to 20 characters each, which are saved even if the Arduino loses power. The remote controls features such as making the text scroll faster, playing and pausing the scrolling, going to edit mode, scrolling between texts (and characters in edit mode), displaying the current text index (and character index in display mode), and a power button.

Minesweeper Solver Algorithm

The program opens an instance of Minesweeper, then controls the mouse and uses image recognition to solve the board using an algorithm that I made.

Balls Bouncing Animation

Sometimes I like to make fun animations like this. Different ratios between the speed of the first and last balls can result in interesting patterns emerging. The ratio shown in this video is 1:2.

img

Nuclear Binding Energy Heatmap

The nuclear binding energy per nucleon is shown using a heatmap. The heatmap shows all combinations of proton and neutron numbers from 1-200. This heatmap was generated using the semi-emperical formula for nuclear binding energy. Stable isotopes typically occur where the binding energy per nucleon is the highest.

img

Lorenz Chaos Curve

A 3D curve generated by the Lorenz system of ordinary differential equations. This system is well known for its demonstration of chaos, since a small change in the initial parameters have a huge effect in the entire system as a whole. This curve is commonly known as the "butterfly curve" due to its shape and association with the butterfly effect in chaos theory.

img

Feigenbaum Tree

The Feigenbaum tree is a famous graph that emerges from a recursive function. It also represents the emergence of chaos from sensitivity to initial conditions. The diagram is also related to the Feigenbaum constant, which is a mysterious value because it is not proven to be transcendental nor irrational, even though it is believed to be so.

img

Rocket Simulation Graphs

200 simulations of a rocket's height over time, and a histogram of their landing times. The simulation took the measured values of a rocket launch and factored in their uncertainties by adding randomness for each parameter.

img

Voltage on a Grid with Fixed Boundary Conditions

The voltage calculated in a 2D system with the boundaries fixed at specific voltages.

img

Fourier Transform Smoothing

The Fourier transform and its inverse were used to construct a wave that smooths out noise from a given initial sample.

img

Hyperspeed!

Hyperspeed is an arcade game which you fly your spaceship through barriers and try to get the best high score. There are many different ships to unlock based on your achievements in the game. If you have Android, you can Download the APK for Hyperspeed here (you may need to set permissions to allow APK downloads outside of Google Play).

Rubik's Cube

A Rubik's Cube made and controlled in Unity. Has 12 different spin controls: 2 sides of each dimension and the inverses.

Advent of Code 2024 - 50 Stars

I completed the Advent of Code challenge for 2024! Video shown: finding a Christmas tree by running over 10 thousand simulations, then converting over 100 million bits of data to an image (Day 14 Part 2). I uploaded all my Advent of Code solvers to GitHub.