Software

Please visit my Github page for an extensive collection of software I have developed. Below are a few highlights

LoopDitty Geometric Music Visualizer

As part of my research on geometric/topological time series analysis, I created a web interface with WebGL that can be used to view a projection of the high dimensional geometric curves I use to represent music, and I synchronize this projection with the music so that the curve is drawn as the music evolves. I call this program "LoopDitty," and it can be used to visualize any song on Soundcloud, in addition to custom songs users upload. Watch as the curve goes to different regions of space for verses, choruses, and bridges, and notice how the curve varies locally for different types of music.

G-RFLCT

G-RFLCT stands for "Geometry Radio Frequency Library by Chris Tralie." It started off as a library to do image source calculation and beam tracing for radar applications, but it turned into a more general purpose library for 3D geometry tasks and education.

Current Features

  • Support for 3D primitives and primitive transformations: Vectors, Points, Rays, Planes, etc
  • Support for 3D polygon meshes, including geometry methods (PCA, slice by plane) and some topology methods (triangle subdivision, basic no-frills hole filling). Can load and save .off or .obj files with color
  • Basic 3D mesh viewer with a polar camera and a vertex picker using PyOpenGL, which supports color, texture, and Phong illumination

Algorithms Implemented and Tested

  • Iterative closest points
  • Laplacian Mesh Editing and the Heat Kernel Signature
  • Image sources calculation for an arbitrary polygon mesh

Algorithms under development

  • Polygon beam tracing
  • 3D Planar Reflective Symmetry Transform
  • Fast marching for geodesic distances
  • Generalized Multidimensional Scaling


Grad School Logbook Organizer

This links to something on my Github Page that's half program half tutorial. It's a simple logbook program I created to help keep track of a lot of different projects going on at once during my Ph.D. It's a very thin layer over HTML that allows the stitching together of many different entries as HTML files, which are organized by date and tagged. I would highly recommend anyone in grad school to use this program or to do something similar in LaTeX! It's very easy to get disorganized, and you want to document every little thing you do every day so you don't end up having to repeat any effort