Curves and Surfaces for Painting Simulation

September 23, 2000

William V. Baxter III

Line

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.

Brush Pose Interpolation 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

Brush Surface and Spine 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.

Interpolation of Surface 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

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)