
Experience 


Software Engineer, Google Inc. 
Simplifying graphic
design and creating visually rich user experiences on the web 




Research Scientist, Adobe Systems Inc. 
Member of the Advanced Technology Lab Research in curvebased 3D modeling, variational
modeling, multitouch 3D manipulation, 6 D.o.F. devices 




Graduate Student, University of California, Berkeley 
Ph.D. in Computer Science (topic: variational shape design) 




Intern, Pixar Animation Studios 
research and development for harmonic coordinates project 




Intern, Institute for Creative Technologies 
research and development for facial animation and thinshell simulation 
Publications and Tutorials 

Graphics
Programming for the Web We introduce web programming and the dominant graphics technologies (CSS, HTML5 Canvas, WebGL, WebCL) that are supported by most modern browsers. With HTML5 and everimproving browser performance, the web has emerged as an ideal platform for showcasing graphics applications. Several graphics applications that were once too slow to be written in anything but native code may now be fast enough to run as web apps. For each topic, the course notes above contain a significant number of code examples that illustrate the relevant graphics capabilities. You are welcome to copy and paste our code snippets and execute them inside any modern webkit browser (e.g. Chrome or Safari). 




Just DrawIt: a
3D sketching system (click here for a video) We present “JustDrawIt”, a sketchbased system for creating 3D curves suitable for surfacing. The user can sketch in a freeform manner from any view at any time, and the system infers how those sketch strokes should be added to the drawing. Specifically, existing curves are projected to 2D and analyzed to see if the stroke edits or extends an existing curve, or if the stroke should make a new curve. In the former case the 2D stroke is promoted to 3D using the position of the existing curve, and then joined to that curve. In the latter case, we use additional spatial information (e.g. temporary 3D surfaces) to create a new curve in 3D. All nonsketching interactions are based on unintrusive contextaware, inscreen pie menus designed for rapid penbased input. We also provide novel rendering styles and aides for interpreting and working with 3D sketches. Finally, we support snapping together curve networks and specifying normals in order to create surface models. 


Efficient Nonlinear
Optimization via Multiscale Gradient Filtering Tobias Martin, Pushkar Joshi, Miklos Bergou, Nathan Carr Under review, filed as a University of Utah Tech. Report UUCS 12001 We present a method for accelerating the convergence of gradientbased nonlinear optimization algorithms. We start with the theory of the Sobolev gradient, which we analyze from a signal processing viewpoint. By varying the order of the Laplacian used in defining the Sobolev gradient, we can effectively filter the gradient and retain only components at certain scales. We use this idea to adaptively change the scale of features being optimized in order to arrive at a solution that is optimal across multiple scales. This is in contrast to traditional descentbased methods, for which the rate of convergence often stalls early once the high frequency components have been optimized. Our method is conceptually similar to multigrid in that it can be used to smooth errors at multiple scales in a problem, but we do not require a hierarchy of representations during the optimization process. We demonstrate how to integrate our method into multiple nonlinear optimization algorithms, and we show a variety of optimization results in variational shape modeling, parameterization, and physical simulation. 




CurveBased
Modeling  A Tutorial Pushkar Joshi IEEE Computer Graphics and Applications vol. 31, no. 6 (Nov.Dec. 2011) This tutorial provides a starting point for curvebased modeling. It introduces three rough categories of curvebasedmodeling methods: extruding 2D shapes, inflating 2D shapes, and drawing 3D curves. This tutorial introduces representative methods that yield positive results while also exposing several issues related to curvebased modeling. 


Surface Patches from
Unorganized Space Curves Fatemeh Abbasinejad, Pushkar Joshi, Nina Amenta Eurographics Symposium on Geometry Processing 2011 Recent 3D sketch tools produce networks of threespace curves that suggest the contours of shapes. The shapes may be nonmanifold, closed threedimensional, open twodimensional, or mixed. We describe a system that automatically generates intuitively appealing piecewisesmooth surfaces from such a curve network, and an intelligent user interface for modifying the automatically chosen surface patches. Both the automatic and the semiautomatic parts of the system use a linear algebra representation of the set of surface patches to track the topology. On complicated inputs from ILoveSketch, our system allows the user to build the desired surface with just a few mouseclicks. Click here for more information. 




Interactive Extraction
and ReDesign of Sweep Geometries James Andrews, Pushkar Joshi, Carlo Sequin We introduce two interactive extraction modules that can fit the parameters of generalized sweeps to large, unstructured meshes for immediate, highlevel, detailpreserving modification. These modules represent two extremes in a spectrum of parameterized shapes: rotational sweeps defined by a few global parameters, and progressive sweeps forming generalized cylinders with many slowly varying local parameters. Both modules are initialized and controlled by the user drawing a few strokes onto the displayed original model. We demonstrate the system on various shapes, ranging from clean, mechanical geometries to organic forms with intricate surface details 


image © Adobe Systems Inc.

A Linear Variational
System for Modeling From Curves James Andrews, Pushkar Joshi, Nathan Carr Computer Graphics Forum, Eurographics Association, 2011 We present a linear system for modelling 3D surfaces from curves. Our system offers better performance, stability and precision in control than previous nonlinear systems. By exploring the direct relationship between a standard higherorder Laplacian editing framework and Hermite spline curves, we introduce a new form of Cauchy constraint that makes our system easy to both implement and control. We introduce novel workflows that simplify the construction of 3D models from sketches. We show how to convert existing 3D meshes into our curvebased representation for subsequent editing and modelling, allowing our technique to be applied to a wide range of existing 3D content. 



An intuitive explanation
of thirdorder surface behavior Pushkar Joshi, Carlo Sequin ComputerAided Geometric Design 27(2):150161, February 2010 We present a novel parameterizationindependent exposition of the thirdorder geometric behavior of a surface point. Unlike existing algebraic expositions, our work produces an intuitive explanation of thirdorder shape, analogous to the principal curvatures and directions that describe secondorder shape. We extract four parameters that provide a quick and concise understanding of the thirdorder surface behavior at any given point. Our shape parameters are useful for easily characterizing different thirdorder surface shapes without having to use tensor algebra. Our approach generalizes to higher orders, allowing us to extract similarly intuitive parameters that fully describe fourth and higherorder surface behavior. 



Visualizing HighOrder
Surface Geometry Pushkar Joshi, Carlo Sequin ComputerAided Design and Applications, 6(2):263268, June 2009. We have derived parameters that describe the higherorder geometric behavior of smooth surfaces. Our parameters are similar in spirit to the principal directions and principal curvatures that succinctly capture secondorder shape behavior. We derive our parameters from a cylindrical Fourier decomposition around the surface normal. We present a visualization program for studying the influence of the various terms of different degrees on the shape of the local neighborhood of a surface point. We display a small surface patch that is controlled by two sets of parameters: One set is a simple polynomial description of the surface geometry in Cartesian coordinates. The other one is a set of Fourier components grouped by angular frequency and by their phase shifts. Manipulating the values in one parameter set changes the geometry of the patch and also updates the parameter values of the other set. 



Minimizing Curvature
Variation for Aesthetic Surface
Design Pushkar Joshi, Advisor: Carlo Sequin Ph.D. Thesis EECS Department, University of California, Berkeley Technical Report No. UCB/EECS2008129, October 7, 2008 We investigate the usability of functional surface optimization for the design of freeform shapes. The optimal shape is subject to only a few constraints and is influenced largely by the choice of the energy functional. Among the many possible functionals that could be minimized, we focus on thirdorder functionals that measure curvature variation over the surface. We provide a simple explanation of the thirdorder surface behavior and decompose the curvaturevariation function into its Fourier components. We extract four geometrically intuitive, parameterizationindependent parameters that completely define the third order shape at a surface point. We formulate thirdorder energy functionals as functions of these thirdorder shape parameters. By computing the energy minimizers for a number of canonical input shapes, we provide a catalog of diverse functionals that span a reasonable domain of aesthetic styles. The functionals can be linearly combined to obtain new functionals with intermediate aesthetic styles. Our sidebyside tabular comparison of functionals helps to develop an intuition for the preferred aesthetic styles of the functionals and to predict the aesthetic styles preferred by a new combination of the functionals. To compare the shapes preferred by the functionals, we built a robust surface optimization system. We represent shapes using CatmullClark subdivision surfaces, with the control mesh vertices acting as degrees of freedom for the optimization. The energy is minimized by an offtheshelf implementation of a quasiNewton method. We discuss some future work for further improving the optimization system and end with some conclusions on the use of optimization for aesthetic design. 


image © Adobe Systems Inc.

Repousse: Automatic
Inflation of 2D Artwork Pushkar Joshi, Nathan Carr Eurographics Workshop on SketchBased Modeling 2008 We describe a new system for the interactive enhancement of 2D art with 3D geometry. Repousse creates a 3D shape by inflating the surface that interpolates the input curves. By using the mean curvature stored at boundary vertices as a degree of freedom, we are able to control the inflated surface intuitively and efficiently using a single linear system. Repousse handles both smooth and sharp position constraints. Position constraint vertices can also have curvature constraints for controlling the inflation of the local surface. We show the applications of our system in font design, stroke design, photo enhancement and freeform 3D shape design 


image © Pixar Animation
Studios

Harmonic
Coordinates for Character Articulation Pushkar Joshi, Mark Meyer, Tony DeRose, Brian Green and Tom Sanocki Proceedings of ACM SIGGRAPH 2007 In this paper we consider the problem of creating and controlling volume deformations used to articulate characters for use in highend applications such as computer generated feature films. We introduce a method we call harmonic coordinates that significantly improves upon existing volume deformation techniques. Our deformations are controlled using a topologically flexible structure, called a cage, that consists of a closed three dimensional mesh. The cage can optionally be augmented with additional interior vertices, edges, and faces to more precisely control the interior behavior of the deformation. We show that harmonic coordinates are generalized barycentric coordinates that can be extended to any dimension. Moreover, they are the first system of generalized barycentric coordinates that are nonnegative even in strongly concave situations, and their magnitude falls off with distance as measured within the cage. 



Energy Minimizers for
CurvatureBased Surface
Functionals Pushkar Joshi, Carlo Sequin ComputerAided Design & Applications, Vol. 4, No. 5, 2007, pp 607617 Best Student Paper award We compare curvaturebased surface functionals by comparing the aesthetic properties of their minimizers. We introduce an enhancement to the original inline curvature variation functional. This new functional also considers the mixed cross terms of the normal curvature derivative and is a more complete formulation of a curvature variation functional. To give designers an intuitive feel for the preferred shapes attained by these different functionals, we present a catalog of the minimum energy shapes for various symmetrical, unconstrained input surfaces of different genera. 



Learning Controls for
Blend Shape Based Realistic
Facial Animation Pushkar Joshi, Wen Tien, Mathieu Desbrun, Frederic Pighin Eurographics/SIGGRAPH Symposium on Computer Animation (2003) Blend shape animation is the method of choice for keyframe facial animation: a set of blend shapes (key facial expressions) are used to define a linear space of facial expressions. However, in order to capture a significant range of complexity of human expressions, blend shapes need to be segmented into smaller regions where key idiosyncracies of the face being animated are present. Performing this segmentation by hand requires skill and a lot of time. In this paper, we propose an automatic, physicallymotivated segmentation that learns the controls and parameters directly from the set of blend shapes. We show the usefulness and efficiency of this technique for both, motioncapture animation and keyframing. We also provide a rendering algorithm to enhance the visual realism of a blend shape model. 