Pushkar Joshi
Research
and development of advanced technology in graphics, user interfaces,
geometric
modeling, and visualization
Contact: pushkarj AT
Siggraph Dot Org
Experience
Software Engineer, Google Inc.
(formerly at Motorola Mobility)
Simplifying graphic
design and creating visually rich user experiences on the web
Developed
the Pen tool (vector design) and Brush tool (raster design) for Ninja Authoring Tool:
a graphic design web app. for creating HTML5 web content.
Research Scientist, Adobe Systems Inc.
Member of the Advanced Technology Lab
Research in curve-based 3D modeling, variational
modeling, multitouch 3D manipulation, 6 D.o.F. devices
Developed core geometry engine for Repousse feature of Photoshop CS5
(renamed as '3D Extrusion' in Photoshop CS6)
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
thin-shell simulation
Publications and Tutorials
3D artwork using CSS3 and Canvas, built by Ninja
Graphics
Programming for the Web
Pushkar Joshi, Mikael-Bourges Sevenier, Kenneth Russell, Zhenyao Mo
Siggraph 2012 Course
Click
here
for course notes and slides
We introduce web programming and the
dominant graphics technologies (CSS, HTML5 Canvas, WebGL, WebCL) that
are supported by most modern
browsers. With HTML5 and ever-improving 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
Cindy Grimm, Pushkar Joshi
Sketch-Based Interfaces and Modeling 2012
(click here
for a video)
We present “JustDrawIt”, a sketch-based
system for creating 3D curves suitable for surfacing. The user can
sketch in a free-form 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 non-sketching interactions are based on unintrusive
context-aware, in-screen pie menus designed for rapid pen-based
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.
teaser for multiscale preconditioner report
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 12-001
We present a method for accelerating the convergence of gradient-based
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 descent-based 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.
curve based modeling tutorial
Curve-Based
Modeling - A Tutorial
Pushkar Joshi
IEEE Computer Graphics and Applications
vol. 31, no. 6 (Nov.-Dec. 2011)
This tutorial provides a starting point for curve-based modeling. It
introduces three rough categories of curve-based-modeling 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 curve-based modeling.
teaser for surface patch extraction
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 three-space curves that
suggest the contours of shapes. The shapes may be non-manifold, closed
three-dimensional, open two-dimensional, or mixed. We describe a system
that automatically generates intuitively appealing piecewise-smooth
surfaces from such a curve network, and an intelligent user interface
for modifying the automatically chosen surface patches. Both the
automatic and the semi-automatic 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
mouse-clicks.
Click
here
for more information.
teaser image for sweep extraction
Interactive Extraction
and Re-Design 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, high-level,
detail-preserving 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
linear variational curve modeler teaser
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 non-linear systems. By exploring the direct relationship
between a standard higher-order 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 curve-based
representation for subsequent editing and modelling, allowing our
technique to be applied to a wide range of existing 3D content.
teaser image for third-order surface params
An intuitive explanation
of third-order surface behavior
Pushkar Joshi, Carlo Sequin
Computer-Aided Geometric Design 27(2):150--161, February 2010
We present a novel parameterization-independent exposition of the
third-order geometric behavior of a surface point. Unlike existing
algebraic expositions, our work produces an intuitive explanation of
third-order shape, analogous to the principal curvatures and directions
that describe second-order shape. We extract four parameters that
provide a quick and concise understanding of the third-order surface
behavior at any given point. Our shape parameters are useful for easily
characterizing different third-order 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 higher-order surface behavior.
teaser image for viz. high order shape
Visualizing High-Order
Surface Geometry
Pushkar Joshi, Carlo Sequin
Computer-Aided Design and Applications, 6(2):263--268, June 2009.
We have derived parameters that describe the higher-order geometric
behavior of smooth surfaces. Our parameters are similar in spirit to
the principal directions and principal curvatures that succinctly
capture second-order 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.
teaser for PhD thesis
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/EECS-2008-129, October 7, 2008
We investigate the usability of functional surface optimization for the
design of free-form 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 third-order functionals that measure curvature
variation over the surface.
We provide a simple explanation of the third-order surface behavior and
decompose the curvature-variation function into its Fourier components.
We extract four geometrically intuitive, parameterization-independent
parameters that completely define the third order shape at a surface
point. We formulate third-order energy functionals as functions of
these third-order 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 side-by-side 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 Catmull--Clark
subdivision surfaces, with the control mesh vertices acting as degrees
of freedom for the optimization. The energy is minimized by an
off-the-shelf implementation of a quasi-Newton 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.
repousse teaser image
image ゥ Adobe Systems Inc.
Repousse: Automatic
Inflation of 2D Artwork
Pushkar Joshi, Nathan Carr
Eurographics Workshop on Sketch-Based 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
teaser for harmonic coord
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 high-end
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 non-negative even in
strongly concave situations, and their magnitude falls off with
distance as measured within the cage.
teaser for energy minimizers
Energy Minimizers for
Curvature-Based Surface
Functionals
Pushkar Joshi, Carlo Sequin
Computer-Aided Design & Applications, Vol. 4, No. 5, 2007, pp
607-617
Best Student Paper award
We compare curvature-based 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.
teaser for learning controls for blendshape facial anim.
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,
physically-motivated 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,
motion-capture animation and keyframing. We also provide a rendering
algorithm to enhance the visual realism
of a blend shape model.