I’m a Computer Science PhD student at Carnegie Mellon University, advised by Keenan Crane. My research is in applied geometry, designing new algorithms to process geometric data like 3D meshes or point clouds. I apply these techniques to solve geometric problems in computer graphics/vision, scientific computing, and computational fabrication. My work is currently supported by an NSF Graduate Research Fellowship.
Previously, I was an undergraduate at Virginia Tech, where I worked with T.M. Murali on computational systems biology, and was active in competitive programming. Outside of work, I’m a big fan of long-distance running, hockey, and cooking.
The Vector Heat Method
ACM Trans. on Graph. (conditionally accepted)
We show that parallel transport is effectively computed via short-time heat flow. In turn, this leads to efficient algorithms for velocity extension, computing the log map, and much more.arXiv
Variational Surface Cutting
ACM Trans. on Graph. (2018)
Good surface cuts are short, yet allow a shape to be flattened with little distortion. Here, we show shape optimization can be applied to the Yamabe equation to directly compute smooth cuts with arbitrarily low distortion.PDF
Xtalk: a path-based approach for identifying crosstalk between signaling pathways
Pathways on demand: automated reconstruction of human signaling networks
npj Systems Biology and Applications 2016github
A C++ viewer and user interface for the rapid prototyping and debugging of geometric algorithms in 3D geometry processing. The lofty objective of Polyscope is to offer a useful visual interface to your data via a single line of code.github
A C++ header-only parser for the .ply file-format. Includes reading and writing in plaintext or binary mode, general and mesh-specific elements, and automatic type promotion.github
A modern C++ codebase providing the low-level tools to implement algorithms in geometry processing, scientific computing, and computer graphics/vision, with a particular focus on the geometry of surfaces.github