Featured Researches

Graphics

Continuous Curve Textures

Repetitive patterns are ubiquitous in natural and human-made objects, and can be created with a variety of tools and methods. Manual authoring provides unmatched degree of freedom and control, but can require significant artistic expertise and manual labor. Computational methods can automate parts of the manual creation process, but are mainly tailored for discrete pixels or elements instead of more general continuous structures. We propose an example-based method to synthesize continuous curve patterns from exemplars. Our main idea is to extend prior sample-based discrete element synthesis methods to consider not only sample positions (geometry) but also their connections (topology). Since continuous structures can exhibit higher complexity than discrete elements, we also propose robust, hierarchical synthesis to enhance output quality. Our algorithm can generate a variety of continuous curve patterns fully automatically. For further quality improvement and customization, we also present an autocomplete user interface to facilitate interactive creation and iterative editing. We evaluate our methods and interface via different patterns, ablation studies, and comparisons with alternative methods.

Read more
Graphics

Conversion Between Bezier and Catmull-Rom Splines

Splines are one of the main methods of mathematically representing complicated shapes, which have become the primary technique in computer graphics for modeling complex surfaces. Among all, Bezier and Catmull-Rom splines are of the most used in the subfields of engineering. In this document, we focus on conversion of splines rather than going through the properties of them, i.e, converting the control points of a spline to the control points of another spline, which results in approximately the same curve, as the spline before conversion represents.

Read more
Graphics

Convolutional Humanoid Animation via Deformation

In this paper we present a new deep learning-driven approach to image-based synthesis of animations involving humanoid characters. Unlike previous deep approaches to image-based animation our method makes no assumptions on the type of motion to be animated nor does it require dense temporal input to produce motion. Instead we generate new animations by interpolating between user chosen keyframes, arranged sparsely in time. Utilizing a novel configuration manifold learning approach we interpolate suitable motions between these keyframes. In contrast to previous methods, ours requires less data (animations can be generated from a single youtube video) and is broadly applicable to a wide range of motions including facial motion, whole body motion and even scenes with multiple characters. These improvements serve to significantly reduce the difficulty in producing image-based animations of humanoid characters, allowing even broader audiences to express their creativity.

Read more
Graphics

Correction of Chromatic Aberration from a Single Image Using Keypoints

In this paper, we propose a method to correct for chromatic aberration in a single photograph. Our method replicates what a user would do in a photo editing program to account for this defect. We find matching keypoints in each colour channel then align them as a user would.

Read more
Graphics

Course notes Geometric Algebra for Computer Graphics, SIGGRAPH 2019

What is the best representation for doing euclidean geometry on computers? These notes from a SIGGRAPH 2019 short course entitled "Geometric algebra for computer graphics" introduce projective geometric algebra (PGA) as a modern framework for this task. PGA features: uniform representation of points, lines, and planes; robust, parallel-safe join and meet operations; compact, polymorphic syntax for euclidean formulas and constructions; a single intuitive sandwich form for isometries; native support for automatic differentiation; and tight integration of kinematics and rigid body mechanics. PGA includes vector, quaternion, dual quaternion, and exterior algebras as sub-algebras, simplifying the learning curve and transition path for experienced practitioners. On the practical side, it can be efficiently implemented, while its rich syntax enhances programming productivity. The basic ideas are introduced in the 2D context and developed selectively for 3D. Advantages to traditional approaches are collected in a table at the end. The article aims to be a self-contained introduction for practitioners of euclidean geometry and includes numerous examples, formulas, figures, and tables.

Read more
Graphics

Curve and surface construction based on the generalized toric-Bernstein basis functions

The construction of parametric curve and surface plays important role in computer aided geometric design (CAGD), computer aided design (CAD), and geometric modeling. In this paper, we define a new kind of blending functions associated with a real points set, called generalized toric-Bernstein (GT-Bernstein) basis functions. Then the generalized toric-Bezier (GT-Bézier) curves and surfaces are constructed based on the GT-Bernstein basis functions, which are the projections of the (irrational) toric varieties in fact and the generalizations of the classical rational Bézier curves and surfaces and toric surface patches. Furthermore, we also study the properties of the presented curves and surfaces, including the limiting properties of weights and knots. Some representative examples verify the properties and results.

Read more
Graphics

Curvy: An Interactive Design Tool for Varying Density Support Structures

We introduce Curvy-an interactive design tool to generate varying density support structures for 3D printing. Support structures are essential for printing models with extreme overhangs. Yet, they often cause defects on contact areas, resulting in poor surface quality. Low-level design of support structures may alleviate such negative effects. However, it is tedious and unintuitive for novice users as it is hard to predict the impact of changes to the support structure on the final printed part. Curvy allows users to define their high-level preferences on the surface quality directly on the target object rather than explicitly designing the supports. These preferences are then automatically translated into low-level design parameters to generate the support structure. Underlying novel curvy zigzag toolpathing algorithm uses these instructions to generate varying density supports by altering the spacing between individual paths in order to achieve prescribed quality. Combined with the build orientation optimization, Curvy provides a practical solution to the design of support structures with minimal perceptual or functional impact on the target part to be printed.

Read more
Graphics

DNF-Net: a Deep Normal Filtering Network for Mesh Denoising

This paper presents a deep normal filtering network, called DNF-Net, for mesh denoising. To better capture local geometry, our network processes the mesh in terms of local patches extracted from the mesh. Overall, DNF-Net is an end-to-end network that takes patches of facet normals as inputs and directly outputs the corresponding denoised facet normals of the patches. In this way, we can reconstruct the geometry from the denoised normals with feature preservation. Besides the overall network architecture, our contributions include a novel multi-scale feature embedding unit, a residual learning strategy to remove noise, and a deeply-supervised joint loss function. Compared with the recent data-driven works on mesh denoising, DNF-Net does not require manual input to extract features and better utilizes the training data to enhance its denoising performance. Finally, we present comprehensive experiments to evaluate our method and demonstrate its superiority over the state of the art on both synthetic and real-scanned meshes.

Read more
Graphics

DSG-Net: Learning Disentangled Structure and Geometry for 3D Shape Generation

D shape generation is a fundamental operation in computer graphics. While significant progress has been made, especially with recent deep generative models, it remains a challenge to synthesize high-quality shapes with rich geometric details and complex structure, in a controllable manner. To tackle this, we introduce DSG-Net, a deep neural network that learns a disentangled structured and geometric mesh representation for 3D shapes, where two key aspects of shapes, geometry, and structure, are encoded in a synergistic manner to ensure plausibility of the generated shapes, while also being disentangled as much as possible. This supports a range of novel shape generation applications with disentangled control, such as interpolation of structure (geometry) while keeping geometry (structure) unchanged. To achieve this, we simultaneously learn structure and geometry through variational autoencoders (VAEs) in a hierarchical manner for both, with bijective mappings at each level. In this manner, we effectively encode geometry and structure in separate latent spaces, while ensuring their compatibility: the structure is used to guide the geometry and vice versa. At the leaf level, the part geometry is represented using a conditional part VAE, to encode high-quality geometric details, guided by the structure context as the condition. Our method not only supports controllable generation applications but also produces high-quality synthesized shapes, outperforming state-of-the-art methods. The code has been released at this https URL.

Read more
Graphics

DVP: Data Visualization Platform

We identify two major steps in data analysis, data exploration for understanding and observing patterns/relationships in data; and construction, design and assessment of various models to formalize these relationships. For each step, there exists a large set of tools and software. For the first step, many visualization tools exist, such as, GGobi, Parallax, and Crystal Vision, and most recently tableau and plottly. For the second step, many Scientific Computing Environments (SCEs) exist, such as, Matlab, Mathematica, R and Python. However, there does not exist a tool which allows for seamless two-way interaction between visualization tools and SCEs. We have designed and implemented a data visualization platform (DVP) with an architecture and design that attempts to bridge this gap. DVP connects seamlessly to SCEs to bring the computational capabilities to the visualization methods in a single coherent platform. DVP is designed with two interfaces, the desktop stand alone version and the online interface. To illustrate the power of DVP design, a free demo for the online interface of DVP is available \citep{DVP} and very low-level design details are explained in this article. Since DVP was launched, circa 2012, the present manuscript was not published since today for commercialization and patent considerations.

Read more

Ready to get started?

Join us today