Vector field design on surfaces is necessary for many graphics applications: example-based texture synthesis, nonphotorealistic rendering, and fluid simulation. For these applications, singularities contained in the input vector field often cause visual artifacts. In this article, we present a vector field design system that allows the user to create a wide variety of vector fields with control over vector field topology, such as the number and location of singularities. Our system combines basis vector fields to make an initial vector field that meets user specifications. The initial vector field often contains unwanted singularities. Such singularities cannot always be eliminated due to the Poincaré-Hopf index theorem. To reduce the visual artifacts caused by these singularities, our system allows the user to move a singularity to a more favorable location or to cancel a pair of singularities. These operations offer topological guarantees for the vector field in that they only affect user-specified singularities. We develop efficient implementations of these operations based on Conley index theory. Our system also provides other editing operations so that the user may change the topological and geometric characteristics of the vector field. To create continuous vector fields on curved surfaces represented as meshes, we make use of the ideas of geodesic polar maps and parallel transport to interpolate vector values defined at the vertices of the mesh. We also use geodesic polar maps and parallel transport to create basis vector fields on surfaces that meet the user specifications. These techniques enable our vector field design system to work for both planar domains and curved surfaces. We demonstrate our vector field design system for several applications: example-based texture synthesis, painterly rendering of images, and pencil sketch illustrations of smooth surfaces. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or direct commercial advantage and that copies show this notice on the first page or initial screen of a display along with the full citation. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers, to redistribute to lists, or to use any component of this work in other works requires prior specific permission and/or a fee. Permissions may be requested from Publications Dept., ACM, Inc., 2 Penn Plaza, Suite 701, New York, NY 10121-0701 USA, fax +1 ( . In nonphotorealistic rendering, vector fields are used to guide the orientation of brush strokes [Hertzmann 1998 ] and hatches [Hertzmann and Zorin 2000] . In fluid simulation, the external force is a vector field which need not correspond to any physical phenomenon and can exist on synthetic 3D surfaces [Stam 2003 ]. A vector field design system enables these applications to achieve many different visual effects by using different input fields. It can also be used to create datasets for testing the efficiency and correctness of a vector field visualization technique [van Wijk 2002 [van Wijk , 2003 . Vector field design refers to creating a continuous vector field on a 3D surface based on user specifications or application-dependent requirements. It is different from vector field simplification, which is used to reduce the complexity of large and noisy datasets while maintaining their major features. In vector field design, both adding and removing features may be required. There are several challenges when it comes to designing vector fields. First, a design system should enable the user to create a wide variety of vector fields with relatively little effort. Most existing design systems generate some subclasses, such as curl-free and divergence-free vector fields. This limits their potential applications. Second, the user often needs control over vector field topology, such as the number and location of the singularities. As pointed out in Praun et al. [2000] and Hertzmann and Zorin [2000] , this is necessary for applications such as example-based texture synthesis and nonphotorealistic rendering, in which unwanted singularities often cause visual artifacts. Figure 1 illustrates this with an example from texture synthesis, in which a sink (dot) in the middle of the bunny's tail (left) causes the synthesis pattern to break up (right). In addition, many applications of vector field design are based on 3D mesh surfaces, such as texture synthesis, fluid simulation, and artistic illustration of surfaces. A typical mesh consists of vertices, edges, and triangles. In order to control vector field topology on a mesh, we need continuous vector fields for which we can perform particle tracing that follows the flow in a consistent manner. However, surface normal and tangent planes are discontinuous at the vertices and across the edges, and the definition of vector field continuity from smooth surfaces does not apply. Furthermore, the popular piecewise linear representation [Tricoche et al. 2001 ] produces continuous vector fields only when the mesh represents a planar domain. Stam [2003] uses subdivision surfaces to ensure vector field continuity. However, it is difficult to extract and control vector field topology with this representation because of its complexity. Also, subdivision surfaces often incur higher computational costs than polygonal meshes. In this article, we present a vector field design system for surfaces. This system employs a three-stage pipeline: initialization, analysis, and editing. In the initialization stage, the user can quickly create a vector field by using basis flow fields. Next, the system performs geometric and topological analysis on the initial field and provides visual feedback to the user. In the third stage, the user makes controlled editing operations to the current vector field, such as moving a singularity (singularity movement) or cancelling a pair of singularities (singularity pair cancellation). This process of iterative analysis and editing is repeated until the user is satisfied with the result. Our system enables the user to create a wide variety of vector fields (curl-free, divergence-free, and generic) by using basis fields of different kinds. It also provides control over vector field topology, such as the number and location of singularities. We provide efficient algorithms for both singularity pair cancellation and singularity movement based on ideas from Conley index theory, which is more general and powerful than the well-known Poincaré index theory. To enable these operations to work for generic vector fields, as opposed to only curl-free vector fields, we use flow rotations and reflections to handle the numerical instabilities associated with regions of a high curl and regions near a saddle.
REF proposed a system for designing vector field on surfaces.
Vector field design on surfaces
TOGS
Mathematics Computer Science