3D Painting on Scanned Surfaces

Maneesh Agrawala <maneesh@pepper.stanford.edu>
Andrew C. Beers <beers@cs.stanford.edu>
Marc Levoy <levoy@cs.stanford.edu>


1. Introduction

2. System Configuration

3. Data Representation

4. Methods

4.1 Object--mesh registration

4.2 Painting

4.3 Brush effects

4.4 Combating registration errors

The accuracy of the registration between the sensor and the mesh depends on several factors. The Polhemus Fastrak is only accurate to within 0.03 inches, and the magnetic field generated by the Polhemus is distorted by metallic objects as well as other electromagnetic fields in the work area. Furthermore, Besl's registration algorithm is dependent on an initial hand-alignment of the sensor samples to mesh vertices. If this initial alignment is poor, the registration transformation produced by Besl's algorithm may not be globally optimal. Registration errors can cause the virtual brush tip to lie some distance away from the mesh even when the Polhemus stylus is physically touching the object surface. In this case it would be difficult to paint the surface with small brush volumes.

One approach to overcome this would be to use a long, thin cylindrical brush. The problem with this approach is that painting a fine line with such a long, thin brush would force us to ensure that the brush is perpendicular to the mesh throughout the stroke. Slight changes in brush orientation would change the size of the area painted on the mesh.

An alternative approach is to give the user the option of ``gluing'' the brush to the mesh. When painting, the location of the brush is constrained to be the closest point on the mesh to the sensor, rather than the sensor's location itself. We can think of this as extending the tip of the brush so that it always touches the mesh surface. Since the brush's position is now forced to lie on the surface, we can paint with very small brush shapes, even in the presence of registration errors.

5. Results

6. Future Directions

7. Conclusions

8. Acknowledgments