Curves and Surfaces for Painting Simulation
September 23, 2000
William V. Baxter III

Go to final report.
Jump to progress update page.
GOAL
The goal of this project is to use a variety of curves and surfaces in
a painting simulation system to improve the accuracy and realism of
that simulation. Our system will model volumetric oil paint, a
physically realistic brush, and physically realistic optical
composition of paint layers.
APPLICATIONS
The following are places in the simulation where either curves or
curved surface representations will be beneficial.
Interpolation of brush poses.
Input devices that give the brush position (either 6dof phantom or
5dof pen & tablet) only report the position at a finite number of
locations. If the user moves the brush rapidly we would still like to
treat the motion as a smooth trajectory rather than a number of linear
segments. To generate smooth interpolants between brush poses at
arbitrary time values, we will use some form of quaternion
interpolation of higher order than the standard spherical linear
interpolation (aka slerp), probably cubic quaternion splines.
[Barr92, Kim95a, Kim95b]
Since this problem only arises when the distance traveled between
samples is large, it would be desirable to avoid the computation
overhead when the sample steps are closely spaced. Since the sample
points between which we would like to interpolate are not available
for future times, all interpolation must be one sided based on
previous points, making this problem slightly different from the
typical curve interpolation problem.
Representation of bristle surface
A critical problem in the simulation of the brush is determining how
the bristles deform when put in contact with the painting surface, and
the shape of the contact area, or footprint, itself. Since this
deformation must be physically realistic and the cost of accurate
deformable body simulation can be quite high, the physical
and visual representations of the bristles will be separate.
The physical representation will be a simple 1-d or 2-d mesh of
springs and masses representing the core of the brush. The visual
representation will be an offset surface from this core. The
footprint of the brush will be determined by the intersection of the
painting surface and the brush offset surface.
[Sugu00, Wong00] both use
a similar technique in which the brush surface is allowed to penetrate
the canvas and a footprint is derived from the resulting
intersection.
For computing the intersection with the offset surface the easiest
(and possibly fastest) method might be to simply render the surface
with a clipping plane where the canvas is. If the paint on the brush
is represented as a texture map on the offset surface, the resulting
image may also be usable as an estimate of what sort of paint transfer
is occuring between brush and canvas. This process would be a sort of
like a virtual drawing prism [Greene85].
Greene used a prism and a camera to capture the footprint of a real
brush as it moved over the surface and used that as an input device
for painting.
Paint surface interpolation.
The volumetric paint model will be stored as a height field or layered
height field on a grid. But it would be desirable to be able to look
closely at parts of the canvas and not see the artifacts introduced by
simple bi-linear interpolation between height samples. For this
purpose we will dynamically generate a local higher order surface
refinement when the eyepoint draws close to the canvas. Using a
subdivision surface refinement rule for this seems appropriate. Since
this is a regular grid, there are no extraordinary vertices, which
makes the subdivision particularly easy.
[Pulli96]
TASKS
- Implement cubic quaternion curve interpolation/extrapolation.
- Decide upon bristle surface representation (NURBS? Subdivision
surface? Cubic bezier patches?)
- Implement chosen bristle surface representation
- Implement code to do planar intersection with bristle surface representation
- Implement viewpoint-driven local subdivision for paint surface.
WHAT'S NOVEL
Applying curve and surface representations to a paint program in the
way proposed is novel.
TO BE DONE BY DEC'00
Implementation of the various curve and surface algorithms.
Integration into painting program.
TO BE DONE IN NEXT 3 MONTHS
Start by implementing a bezier/bspline/nurbs test program in 2d to get
the feel of how these things work. My class presentation will be on
hardware accelleration of curves and surfaces, so I might learn
something useful from that as well about implementation.
[Pulli96] has a lot to say about fast, hardware
friendly implementation of subdivision surfaces.
REFERENCES
- [Barr92]
- Alan Barr, Bena Currin, Steven Gabriel, John Hughes.
"Smooth Interpolation of Orientations with Angular Velocity Constraints".
Proceedings of SIGGRAPH 1992, ACM SIGGRAPH, 1992, p. 313-320.
- [Cock92]
- Tunde Cockshott, John Patterson, David England.
"Modelling the Texture of Paint".
Computer Graphics Forum (Eurographics '92), 11(3):217-226, September 1992.
- [Fish84]
- Ken Fishkin and Brian A. Barsky.
"Algorithms for Brush Movement in Paint Systems".
Proceedings of Graphics Interface '84. Ottawa, May 28 1984. pp. 9-16.
Also in The Visual Computer, 1(4), December 1985
- [Greene85]
- Richard Greene.
"The Drawing Prism: {A} Versatile Graphic Input Device".
Computer Graphics (SIGGRAPH '85 Proceedings), v. 19, pp. 103-110, 1985.
- [Kim95a]
- M.-J. Kim, M.-S. Kim, and S. Shin.
"A compact differential formula for the first derivative of a unit
quaternion curve".
Journal of Visualization and Computer Animation, 1995.
- [Kim95b]
- M.-J. Kim, M.-S. Kim, and S. Shin.
"A general construction scheme for unit quaternion curves with simple high order derivatives".
In SIGGRAPH 95 proceedings, pages 369-376, 1995.
- [Pulli96]
- Kari Pulli, Mark Segal.
"Fast Rendering of Subdivision Surfaces".
University of Washington Technical Report UW-CSE-96-03-02, 1996.
[PS]
- [Stras86]
- S. Strassmann.
"Hairy Brushes".
Computer Graphics, Vol. 20, No.4, pp 225-232, 1986.
- [Sugu00]
- Saito Suguru, Masayuki Nakajima.
"Physically Based 3D Brush Model for Interactive Painting".
Jyouhou-Shori Gakkai Ronbunshi, Vol 41, No. 3, March 2000.
- [Sugu99]
- Saito Suguru, Masayuki Nakajima.
"3D Physics Based Brush Model for Painting".
SIGGRAPH99 Conference Abstracts and Applications,p.226, August 1999.
- [Wong00]
- Helena T.F. Wong, Horace H.S. Ip.
"Virtual Brush: a model-based synthesis of Chinese calligraphy".
Computers & Graphics, 24 (2000) 99-113.
[PDF]
Bill Baxter (Send mail)