I’m a researcher in geometry processing, computer graphics/vision, and 3D machine learning. My work seeks new algorithms and new representations to make computing with geometric data easy, efficient, and reliable. Currently, I’m a Senior Research Scientist at NVIDIA, based out of Seattle, WA.
Previously I received my PhD in Computer Science from Carnegie Mellon University advised by Keenan Crane, and was a postdoc in the University of Toronto DGP with Alec Jacobson. Even earlier, 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.News
Flexible Isosurface Extraction for Gradient-Based Mesh Optimization
ACM Trans. on Graph. (SIGGRAPH 2023)
Isosurface mesh extraction, for tasks where you iteratively optimize a surface for some objective. Significantly improves fits & element quality vs marching cubes (etc) by introducing additional DoFs that locally adapt the mesh.
Spelunking the Deep: Guaranteed Queries on General Neural Implicit Surfaces via Range Analysis
ACM Trans. on Graph. (SIGGRAPH 2022) Best Paper Award
Efficiently evaluate geometric queries like ray casting, intersection testing, closest-point, and more on existing neural implicit surface architectures. Works on general (not-necessarily-SDF) networks, so it can be used e.g. for occupancy networks or after random initialization.
DiffusionNet: Discretization Agnostic Learning on Surfaces
ACM Trans. on Graph. (SIGGRAPH 2022)
Simple and scalable deep learning on meshes, points clouds, etc., via spatial diffusion. The networks automatically generalize across different samplings, resolutions, and even representations. Spatial support is automatically optimized as a parameter!
Integer Coordinates for Intrinsic Geometry Processing
ACM Trans. on Graph. (SIGGRAPH Asia 2021)
Intrinsic triangulations are great for robust mesh processing—now we can represent them via integers, escaping many pitfalls of floating point and offering a strong guarantee of validity while remaining fast and general.
Geometry Processing with Intrinsic Triangulations
SIGGRAPH 2021 Course, IMR 2021 Course
Intrinsic triangulations encode a mesh’s geometry via edge lengths rather than vertex positions, enabling new robust algorithms and much more. This course gives a general overview, covering core theory, implementation, and the latest research.
Intrinsic Triangulations in Geometry Processing
PhD Thesis, Carnegie Mellon University
This thesis treats the theory and practice of intrinsic triangulations, with applications to robust geometric computing. It describes new techniques including representations, retriangulation schemes, flip-based algorithms, and generalizations.
You Can Find Geodesic Paths in Triangle Meshes by Just Flipping Edges
ACM Trans. on Graph. (SIGGRAPH Asia 2020)
A simple greedy strategy of intrinsic edge flips will provably shorten a given path, loop, or curve network to an exact, locally-shortest geodesic. The procedure also generates a triangulation with these geodesics as edges, which is useful for many applications.
A Laplacian for Nonmanifold Triangle Meshes
Symposium on Geometry Processing (SGP 2020) Best Student Paper Award
We extend intrinsic triangulations to apply to any triangle mesh, even those that are nonmanifold and have boundary—the resulting high-quality Laplacian improves the performance and robustness of many algorithms. This strategy also yields a point cloud Laplacian with similar properties!
PointTriNet: Learned Triangulation of 3D Point Sets
European Conference on Computer Vision (ECCV 2020)
What if we tried deep point set triangulation? PointTriNet presents a classifier + proposal architecture, iteratively generating triangles in a mesh. The method is general, scalable, and differentiable, serving as a triangulation layer for 3D learning.
Navigating Intrinsic Triangulations
ACM Trans. on Graph. (SIGGRAPH 2019)
We describe a data structure for encoding high-quality intrinsic triangulations on top of a low-quality input mesh. This data structure serves as a black box for robust geometric computation.
The Vector Heat Method
ACM Trans. on Graph. (SIGGRAPH 2019)
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.
Variational Surface Cutting
ACM Trans. on Graph. (SIGGRAPH 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.
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 2016
A C++ & Python 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.
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.