Justin Solomon | Stanford University (original) (raw)

Papers by Justin Solomon

Research paper thumbnail of On Discrete Killing Vector Fields and Patterns on Surfaces

Computer Graphics Forum, 2010

Symmetry is one of the most important properties of a shape, unifying form and function. It encod... more Symmetry is one of the most important properties of a shape, unifying form and function. It encodes semantic information on one hand, and affects the shape's aesthetic value on the other. Symmetry comes in many flavors, amongst the most interesting being intrinsic symmetry, which is defined only in terms of the intrinsic geometry of the shape. Continuous intrinsic symmetries can be represented using infinitesimal rigid transformations, which are given as tangent vector fields on the surface – known as Killing Vector Fields. As exact symmetries are quite rare, especially when considering noisy sampled surfaces, we propose a method for relaxing the exact symmetry constraint to allow for approximate symmetries and approximate Killing Vector Fields, and show how to discretize these concepts for generating such vector fields on a triangulated mesh. We discuss the properties of approximate Killing Vector Fields, and propose an application to utilize them for texture and geometry synthesis.

Research paper thumbnail of Discovery of Intrinsic Primitives on Triangle Meshes

Computer Graphics Forum, 2011

The discovery of meaningful parts of a shape is required for many geometry processing application... more The discovery of meaningful parts of a shape is required for many geometry processing applications, such as parameterization, shape correspondence, and animation. It is natural to consider primitives such as spheres, cylinders and cones as the building blocks of shapes, and thus to discover parts by fitting such primitives to a given surface. This approach, however, will break down if primitive parts have undergone almost-isometric deformations, as is the case, for example, for articulated human models. We suggest that parts can be discovered instead by finding intrinsic primitives, which we define as parts that posses an approximate intrinsic symmetry. We employ the recently-developed method of computing discrete approximate Killing vector fields (AKVFs) to discover intrinsic primitives by investigating the relationship between the AKVFs of a composite object and the AKVFs of its parts. We show how to leverage this relationship with a standard clustering method to extract k intrinsic primitives and remaining asymmetric parts of a shape for a given k. We demonstrate the value of this approach for identifying the prominent symmetry generators of the parts of a given shape. Additionally, we show how our method can be modified slightly to segment an entire surface without marking asymmetric connecting regions and compare this approach to state-of-the-art methods using the Princeton Segmentation Benchmark.

Research paper thumbnail of Functional maps: a flexible representation of maps between shapes

ACM Transactions on Graphics

Abstract We present a novel representation of maps between pairs of shapes that allows for effici... more Abstract We present a novel representation of maps between pairs of shapes that allows for efficient inference and manipulation. Key to our approach is a generalization of the notion of map that puts in correspondence real-valued functions rather than points on the shapes. ...

Research paper thumbnail of Putting the science into computer science: treating introductory computer science as the study of algorithms

ACM Sigcse Bulletin, 2007

This paper describes why the study of algorithms should be a fundamental component of the standar... more This paper describes why the study of algorithms should be a fundamental component of the standard introductory computer science (CS) curriculum. By shifting the focus of basic CS classes from implementation to concept, educators can greatly enhance student understanding and course relevance despite rapidly-changing paradigms, technologies, and programming languages. Teaching algorithms also encourages the development of other more generalized skills, including the scientific method, problem-solving, modeling, and technical communication.

Research paper thumbnail of On Discrete Killing Vector Fields and Patterns on Surfaces

Computer Graphics Forum, 2010

Symmetry is one of the most important properties of a shape, unifying form and function. It encod... more Symmetry is one of the most important properties of a shape, unifying form and function. It encodes semantic information on one hand, and affects the shape's aesthetic value on the other. Symmetry comes in many flavors, amongst the most interesting being intrinsic symmetry, which is defined only in terms of the intrinsic geometry of the shape. Continuous intrinsic symmetries can be represented using infinitesimal rigid transformations, which are given as tangent vector fields on the surface – known as Killing Vector Fields. As exact symmetries are quite rare, especially when considering noisy sampled surfaces, we propose a method for relaxing the exact symmetry constraint to allow for approximate symmetries and approximate Killing Vector Fields, and show how to discretize these concepts for generating such vector fields on a triangulated mesh. We discuss the properties of approximate Killing Vector Fields, and propose an application to utilize them for texture and geometry synthesis.

Research paper thumbnail of Discovery of Intrinsic Primitives on Triangle Meshes

Computer Graphics Forum, 2011

The discovery of meaningful parts of a shape is required for many geometry processing application... more The discovery of meaningful parts of a shape is required for many geometry processing applications, such as parameterization, shape correspondence, and animation. It is natural to consider primitives such as spheres, cylinders and cones as the building blocks of shapes, and thus to discover parts by fitting such primitives to a given surface. This approach, however, will break down if primitive parts have undergone almost-isometric deformations, as is the case, for example, for articulated human models. We suggest that parts can be discovered instead by finding intrinsic primitives, which we define as parts that posses an approximate intrinsic symmetry. We employ the recently-developed method of computing discrete approximate Killing vector fields (AKVFs) to discover intrinsic primitives by investigating the relationship between the AKVFs of a composite object and the AKVFs of its parts. We show how to leverage this relationship with a standard clustering method to extract k intrinsic primitives and remaining asymmetric parts of a shape for a given k. We demonstrate the value of this approach for identifying the prominent symmetry generators of the parts of a given shape. Additionally, we show how our method can be modified slightly to segment an entire surface without marking asymmetric connecting regions and compare this approach to state-of-the-art methods using the Princeton Segmentation Benchmark.

Research paper thumbnail of Functional maps: a flexible representation of maps between shapes

ACM Transactions on Graphics

Abstract We present a novel representation of maps between pairs of shapes that allows for effici... more Abstract We present a novel representation of maps between pairs of shapes that allows for efficient inference and manipulation. Key to our approach is a generalization of the notion of map that puts in correspondence real-valued functions rather than points on the shapes. ...

Research paper thumbnail of Putting the science into computer science: treating introductory computer science as the study of algorithms

ACM Sigcse Bulletin, 2007

This paper describes why the study of algorithms should be a fundamental component of the standar... more This paper describes why the study of algorithms should be a fundamental component of the standard introductory computer science (CS) curriculum. By shifting the focus of basic CS classes from implementation to concept, educators can greatly enhance student understanding and course relevance despite rapidly-changing paradigms, technologies, and programming languages. Teaching algorithms also encourages the development of other more generalized skills, including the scientific method, problem-solving, modeling, and technical communication.