A sphere displayed in the ultrasound viewing software


Lack of access to ultrasound imaging is one of the leading causes of preventable childbirth-related deaths. A team lead by Yazmin Feliz at the Columbia University Creative Machines Lab decided to change that by creating the first affordable 3D ultrasound imaging device.

Displaying a constant stream of ultrasound data in real-time is certainly a challenge, but by squeezing every last drop of performance out of my six year old GPU, I was able to create a high-resolution (200 x 200 x 200) ultrasound model that shows updates instantaneously.

A tetrahedron submerged in water


The use of physics simulation has expanded greatly in recent years through applications ranging from engineering to gaming. In many of these simulations, there is a crucial step wherein it necessary to check for the collision between a point and a surface, but it can be difficult to find a system that's quick, effective, and not a pain to implement.

In collaboration with Jacob Panikulam of Main Street Autonomy, we have developed a fast and effective collision detection and response algorithm that can be easily added to any pre-existing particle-based fluid simulator.

Two LX-16A servos


Hiwonder's (previously LewanSoul's) LX-16A are affordable, powerful servos, but without an API, they can be difficult to use, especially for beginners. The PyLX16A library bridges this ease-of-use gap by providing an intuitive library perfect for everyone from experienced mechanical engineers to high school hobbyists!

View the GitHub here.

Simulated water flowing in a box


The realistic simulation of fluids by computers has been one of the greatest problems in computer graphics. Only recently have algorithms been developed to predict the natural movement of liquids, and even then, the volume of liquid that can be simulated is limited by current technology.

Here, I have recreated a simulator detailed in Position Based Fluids by Macklin and Müller. Unfortunately, they did not publicly release their code, and the version they produced worked only on NVIDIA GPUs, so I aimed to make it fast and accessible to as many people as possible.

Video: https://www.youtube.com/watch?v=Al0U6EGzapw.