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.


teaser img

A Laplacian for Nonmanifold Triangle Meshes

Nicholas Sharp and Keenan Crane

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!

pdf talk code (C++) code (python)
teaser img

PointTriNet: Learned Triangulation of 3D Point Sets

Nicholas Sharp and Maks Ovsjanikov

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.

project pdf (18mb) code talk supplement bibtex arxiv
teaser img

Navigating Intrinsic Triangulations

Nicholas Sharp, Yousuf Soliman, Keenan Crane

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.

pdf code talk
teaser img

The Vector Heat Method

Nicholas Sharp, Yousuf Soliman, Keenan Crane

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.

project pdf (24mb) code talk bibtex
teaser img

Variational Surface Cutting

Nicholas Sharp, Keenan Crane

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.

pdf code talk shape opt tutorial derivations
teaser img

Xtalk: a path-based approach for identifying crosstalk between signaling pathways

Allison N Tegge, Nicholas Sharp, TM Murali

Bioinformatics 2016

teaser img

Pathways on demand: automated reconstruction of human signaling networks

Anna Ritz, Christopher L Poirel, Allison N Tegge, Nicholas Sharp, Kelsey Simmons, Allison Powell, Shiv D Kale, TM Murali

npj Systems Biology and Applications 2016


teaser img


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.

website code
teaser img

Geometry Central

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.

website code
teaser img


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.