Phillip Steeves

TUI Based Graphing Calculator

Developed a terminal/TUI based graphing calculator in C++ using the ncurses library. Allows the user to enter a number of mathematical functions, changing variables, domain, amount of samples points and more. Then displays an ASCII art style graph to the user, as well as allows the user to save a whitespace separated file containing the values where the function was calculated, for use in other apps.

Tech Stack: C++ 20, ncurses, CMake

Graph of tan(x + pi) using the tool
github

Computational Fluid Dynamics Simulator

Worked to develop a barebones fluid simulator in python implementing the lattice boltzmann method. I want to further expand this in the future to be written in C++, and allow for custom shapes, focusing the code on its performance.

Curl map of left to right fluid around a cylinder
github

AI Image Compression Optimization

Developed an image optomization program through the use of the genetic algorithm to balance file size and peak signal-to-noise ratio, ensuring images keep quality through different compression techniques. This helped me gain a better understanding of different implementations of AI based solutions. The image seen below has the original on the left and compressed on the right. The algorithm ran with a population of 1000 over 200 generations, and compressed the file size from 10.5 MB to 2.4 MB.

An example of the compressed image, with the original on the left
github

AUVic Software Team

Working with the underwater autonomous vehicle club has given me a chance to explore new areas of development. These have included computer vision, simulation, object recognition, and machine learning.

Tech Stack: ROS2, Python, linux

github