industrial styling based on free-form curve networks

6
Third Hungarian Conference on Computer Graphics and Geometry, Budapest, 2005 Industrial Styling Based on Free-form Curve Networks Gergely Várady, Tamás Várady and Tamás Zombori Geomagic Hungary, Budapest Abstract Creating computer models for very complex, aesthetically pleasing objects is still a hot topic in computer aided geometric design. Traditional design techniques are often found dissatisfactory when feature lines drawn by stylists need to be converted into standard CAD models. The technique proposed in this paper puts emphasis on merging hand-drawn sketches into a consistent 3D structure, which is transformed into a free-form 3D curve network without topological limitations. This curve network uniquely defines an aesthetically pleasing smooth surface, comprised of N-sided patches. Instead of gridded control point modifications, here the surface model is adjusted through its defining curve network. Results are demonstrated by a prototype styling system called Sketches. 1. Introduction In spite of the enormous progress of CAx technologies in the last decades, the design of complex free-form objects has remained a difficult task, in particular, when aesthetic requirements dominate, such as in car-body design. The de- sign process is split into two phases. (i) Stylists typically use conventional graphic tools, such as pencils and rubbers to define their concepts. Unfortunately, the related (artistic) sketches are not precise, and not consistent in mathematical sense; moreover, the collection of curves is often insufficient to uniquely define surfaces. (ii) Design engineers use a lim- ited set of operations to convert these sketches into a mean- ingful 3D surface model. This is supposed to reflect the orig- inal concept, but the created computer model usually differs from the original one, and many iterations are needed until the desired shape is achieved. Current CAD systems have strong limitations in free-form surface design. Most surfaces are created by extruding or rotating planar, free-form profile curves. Lofting operations provide more generality, but remain still topologically rect- angular. The most widespread free-form surfaces, such as, Bezier or NURBS surfaces are also arranged into a topolog- ically rectangular grid. The problem is that real objects con- sists of not only four-sided faces. Though intersections and trimming operations can create N-sided surface portions, trim-lines are not suitable for modifying the initial surfaces, and for shape adjustments the designer has to go back and start again. Further difficulties arise when trimmed elements need to be stitched together. A new paradigm has been evolving to overcome the above difficulties, where 3-dimensional shapes are created by means of a general topology network of free-form, space curves. The surface geometry is uniquely determined by the curve network. This is a hard task from both mathematical and user interface points of view. The curve network has to be filled up with such N-sided patches that flow naturally and get connected smoothly. The current paper focuses on problems that fit into the above area. Sketches is a prototype styling system for pro- cessing hand-drawn sketches, which need to be converted into a smooth, high quality surface model. The design pro- cess is based on a new user tool, called construction box. This allows the creation of 3D curves that can satisfy pro- jectional constraints simultaneously. Sketches uses a new mathematical model, which allows fast, interactive design of complex surface models. Section 2 gives a general overview on the design procedure and the modelling paradigm. Sec- tion 3 describes the creation of 3D curve networks, which approximate aligned 2D sketches being "glued" onto a con- struction box. The mathematical algorithms of N-sided patch generation are summarized in Section 4.

Upload: others

Post on 23-Feb-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Third Hungarian Conference on Computer Graphics and Geometry, Budapest, 2005

Industrial Styling Based on Free-form Curve Networks

Gergely Várady, Tamás Várady and Tamás Zombori

Geomagic Hungary, Budapest

AbstractCreating computer models for very complex, aesthetically pleasing objects is still a hot topic in computer aidedgeometric design. Traditional design techniques are often found dissatisfactory when feature lines drawn by stylistsneed to be converted into standard CAD models. The technique proposed in this paper puts emphasis on merginghand-drawn sketches into a consistent 3D structure, which is transformed into a free-form 3D curve networkwithout topological limitations. This curve network uniquely defines an aesthetically pleasing smooth surface,comprised of N-sided patches. Instead of gridded control point modifications, here the surface model is adjustedthrough its defining curve network. Results are demonstrated by a prototype styling system called Sketches.

1. Introduction

In spite of the enormous progress of CAx technologies inthe last decades, the design of complex free-form objectshas remained a difficult task, in particular, when aestheticrequirements dominate, such as in car-body design. The de-sign process is split into two phases. (i) Stylists typicallyuse conventional graphic tools, such as pencils and rubbersto define their concepts. Unfortunately, the related (artistic)sketches are not precise, and not consistent in mathematicalsense; moreover, the collection of curves is often insufficientto uniquely define surfaces. (ii) Design engineers use a lim-ited set of operations to convert these sketches into a mean-ingful 3D surface model. This is supposed to reflect the orig-inal concept, but the created computer model usually differsfrom the original one, and many iterations are needed untilthe desired shape is achieved.

Current CAD systems have strong limitations in free-formsurface design. Most surfaces are created by extruding orrotating planar, free-form profile curves. Lofting operationsprovide more generality, but remain still topologically rect-angular. The most widespread free-form surfaces, such as,Bezier or NURBS surfaces are also arranged into a topolog-ically rectangular grid. The problem is that real objects con-sists of not only four-sided faces. Though intersections andtrimming operations can create N-sided surface portions,trim-lines are not suitable for modifying the initial surfaces,and for shape adjustments the designer has to go back andstart again. Further difficulties arise when trimmed elementsneed to be stitched together.

A new paradigm has been evolving to overcome theabove difficulties, where 3-dimensional shapes are createdby means of a general topology network of free-form, spacecurves. The surface geometry is uniquely determined by thecurve network. This is a hard task from both mathematicaland user interface points of view. The curve network has tobe filled up with such N-sided patches that flow naturallyand get connected smoothly.

The current paper focuses on problems that fit into theabove area.Sketchesis a prototype styling system for pro-cessing hand-drawn sketches, which need to be convertedinto a smooth, high quality surface model. The design pro-cess is based on a new user tool, calledconstruction box.This allows the creation of 3D curves that can satisfy pro-jectional constraints simultaneously. Sketches uses a newmathematical model, which allows fast, interactive design ofcomplex surface models. Section2 gives a general overviewon the design procedure and the modelling paradigm. Sec-tion 3 describes the creation of 3D curve networks, whichapproximate aligned 2D sketches being "glued" onto a con-struction box. The mathematical algorithms of N-sided patchgeneration are summarized in Section4.

G. Várady, T. Várady and T. Zombori / Industrial Styling

2. Design Process in Sketches

The workflow of shape design in Sketches is shown in Fig-ure1.

Figure 1: Sketches – Design Flowchart

We want to create a computer model of an object, whichis indirectly defined by a set of images containing hand-drawn or computer generatedsketchesof silhouette and fea-ture curves. (If we wish to reconstruct existing objects pho-tographs can also be used.) The images typically show theobject from different orthogonal views (front, back, right,left, top or bottom) and are sufficiently detailed for 3D de-sign.

After noise reduction, edges are extracted using well-known image processing operations4. The images arealigned by scaling, rotation and positioning operations to ob-tain a coherent set of views being mapped onto the faces oftheconstruction box.

The pixel information of the images needs to be convertedinto continuous 2D curves represented by markers, whichwill be interpolated by B-spline curves. The 3D curve net-work will be built by matching pairs of these 2D curves.Eventually the projections of the final 3D curve network willcorrespond to the feature lines of the original sketch input.

Another option to start design is to retrieve curve network

templatesof previously designed models. Designers are usu-ally specialized in certain fields, such as car-body design,and the use of parametric templates can save a lot of work.In Sketches, users can set various parameters to control theactual shape of the template. Of course, a complete car-bodycannot be defined in this way, but its main characteristicslike the basic dimensions, the distance between the wheelaxes, etc. are often sufficient to obtain a good initial curvenetwork. The template curves may be projected back to theconstruction box and are tailored until the given images andprojections get close to each other.

In order to modify or refine a network, users can add,remove or reposition individual markers, or perform com-plex curve operations. Once the curve network is satisfac-tory, Sketches fills the selected loops of curves byN-sidedpatches. In this way there is no need to create artificial edgesdue to rectangular topology, that often makes design tediousin other styling systems.

Figure 2: Curve network and completed surface model of acar-body

Surface generation in Sketches is exclusively based onthe curve network and the derived cross derivative functions,which ensure watertight connections withG1 continuity be-tween the adjacent patches. If necessary, sharp edges (G0)can be incorporated into the patch structure or higher ordersmoothness (G2) can be assured.

The internal representation of Sketches is based on a vari-

G. Várady, T. Várady and T. Zombori / Industrial Styling

ant of Gregory patches. Due to the fact that the structure isdefined by a few meaningful parameters only, curve and sur-face modifications show up in real-time. Several tools areavailable to measure and analyze the smoothness and surfacequality of the resulting patches including slicing, isophotes,curvature and environment maps.

In order to export models, the last step is to convert thesurfaces into a standard format. Sketches uses IGES, andthe N-sided patches can be very tightly approximated byNURBS surfaces.

To illustrate the above process, the final steps of designinga concept car are shown in Figure2. The last few patcheshave been generated by automatically interpolating the restof the unfilled curve network.

In the next two sections we present further details on thealgorithms applied.

3. Generating 3D curves from 2D input

The first step is to grab basic shape information from the2D sketches and convert them into a consistent 3D curvenetwork. The images, which may have been taken from sixorthogonal views (front, back, left, right, top and bottom),are mapped onto the faces of the construction box. The ac-tual curve network definition will take place later inside thebox utilizing so-calledguiding curves, which have been ex-tracted from the sketches. At any stage of the process, thecurve network can be projected to the box providing visualfeedback about the correlation between the model being builtand the sketches.

As discussed earlier, these hand-drawn sketches are usu-ally neither precise, nor consistent. This is due to the fact thatthey typically come from different sketches of an imaginedobject, which never existed. In order to get a meaningful ar-rangement, the images have to be properly aligned on thefaces of the construction box. This requires basic operationslike image scaling, rotation and translation. After these, fur-ther steps are applied to reduce noise and detect edges4. Forcurve extraction, the user clicks on the image and Sketcheswill automatically trace the underlying curve. Based on thepreviously computed transformations, 3D guiding curves arecreated on the corresponding face of the construction box(Figure3).

The 3D curves and the curve network can be modified notonly by moving its 3D markers, but also by moving theirprojective markerssliding on the faces of the constructionbox. A modification on a face affects two coordinates, whichpropagate back to the 3D marker leaving the 3rd coordi-nate unchanged. The projected markers can automaticallybe snapped to two guiding curves; in this way a 3D curvecan easily be constructed matching two orthogonal views.This curve will approximate two sketched – maybe slightlyinconsistent – curves as close as possible. (Figure4).

Figure 3: Guiding curves on the construction box

Another problem is occlusion, i.e. certain feature curvesare visible only from a single view. To create a correspond-ing 3D curve, the user should first define the basic 3D curvenetwork and the related surfaces, then the user can projectthe single view curve onto the existing structure, and incor-porate it into the network for further refinements.

Figure 4: Snapping a 3D Curve to approximate two guidingcurves

G. Várady, T. Várady and T. Zombori / Industrial Styling

4. Surface Interpolation of 3D Curve Networks

4.1. Continuity Constraints at the Common Vertices

At this point we have a curve network of B-spline curvessharing common vertices. The shape of the curves can beadjusted by moving their markers and setting the end-pointtangents. Everyloop of curves will be filled by an N-sidedsurface patch. In order to assure smooth transitions it is nec-essary that the patches have the same normal vectors alongtheir common border curves. This also implies that at thecorner points (where three or more patches join) a commontangent plane is defined forcing the tangents of all relatedcurves into this plane. In practice, this means that once twocurves define a tangent plane at a common end point, all theadditional curves ending there will automatically match thistangent plane. The normal vector at this point can turn into adesign tool, i.e. if needed, it can be freely adjusted, and thecurve tangents will be dragged accordingly (see Figure5(a)).

(a) Common tangent plane

(b) Dupin indicatrix

Figure 5: Continuity constraints

In order to assure higher level (G2) continuity at the cor-ner points, the curvature of the joining curves can also be

made compatible by slightly modifying their first and sec-ond control points. These small modifications can be hardlynoticed concerning the shape of the curves, but the resultingsurface will be much smoother. Details of the related simpleoptimization algorithm can be found in5. Figure5(b)showsthe Dupin indicatrix1 at a corner point, assuring commoncurvature there.

In special cases, when sharp edges are needed, these con-tinuity constraints can be overridden by the user.

4.2. N-sided Patches

Having a curve network with the above properties, appro-priatecross-derivative functionscan be calculated along ev-ery patch boundary, which define the cross-tangents andspread over towards the interior of the N-sided patch. Thecross-derivative functions are computed by purely geometric(i.e. non-parametric) quantities along the common boundarycurve. This assures that once these functions are interpolatedby the corresponding two patches, they will also smoothlyjoin each other.

For each curve loop we have to satisfy positional andcross derivative constraints. In Sketches a scheme proposedby Gregory, Charrot, and Plowmann2, 3 has been applied,though their concept has been significantly enhanced forbetter internal curvature distribution and to provide fast re-sponse times. In order to understand how Gregory patcheswork we briefly summarize the fundamentals, as follows.

This N-sided patch is created by mapping an N-sided reg-ular polygon in the(u,v) domain plane to the 3D space. Letthe center of the polygon be the origin and let the vertices lieon the unit circle. The edges of the polygon are denoted byΓi , 0≤ i < N; see Figure6(a).

(a) Polygonal domain (b) Linear projector

Figure 6: Polygonal domain and the linear projector of thecorner interpolant

The edges of the polygon are mapped to the N bordercurves denoted byCi . Let us define so-calledcorner inter-polants(Qi , i = 1, . . . ,N), that interpolate not only theCi and

G. Várady, T. Várady and T. Zombori / Industrial Styling

Ci−1 curves, but also satisfy constraints implied by their as-sociated cross-derivative functionsDi andDi−1. Every(u,v)domain point defines a point on theith corner interpolantQi(u,v). To get the N-sided patch, we weight these usingspecial weighting functions:

P(u,v) =N−1

∑i=0

αi(u,v)Qi(u,v) (1)

Corner interpolants

The ith corner interpolant (Qi) can be described by two lo-cal variables(si , ti). The main problem is how to computethese local coordinates from a given(u,v) domain coordi-nate pair. We can use alinear projector: let us take theith

edge and determine the intersection point of the extensionsof the two neighboring edges. The intersection ofΓi and theline passing through this point and(u,v) will determine thesi parameter:

si = Pi(u,v) =1−ucos2(i−1)θ−vsin2(i−1)θ2−2cos2θ(ucos2iθ+vsin2iθ)

(2)

whereθ = πN ; see Figure6(b). It follows from the definition

of the corner interpolants, thatti = 1−si−1 andti+1 = 1−si .

Thus Qi is defined in the local(si , ti) parameter space,and it interpolates not only theCi(si) and Ci−1(si−1) =Ci−1(ti) border curves, but also the correspondingDi(si) andDi−1(ti) cross-derivative functions. We also assume that thecross-derivative functions are compatible, so there exists aunique twist vector (i.e. mixed partial derivative) at the cor-ner point, denoted byTi .

Then the equation of the corner interpolant is

Qi(si , ti) = Ci(si)+Ci−1(si−1)−Ci(0)+ tiDi(si)

+siDi−1(ti)− tiDi(0)−siDi−1(1)−sitiTi(3)

Note: these corner interpolants can be generalized to in-terpolate higher degree cross-derivatives as well.

Weighting functions

The weighting functions form a convex combination, i.e.they are non-negative and∑αi = 1,∀(u,v).

In order to have a zero effect of theith corner interpolantsalong the otherN−2 edges, the following must hold:

αi =∂αi

∂u=

∂αi

∂v= 0, ∀(u,v) ∈ Γ j , j 6= i, i−1 (4)

There are several ways to define such weighting func-tions, one option is a simple formula proposed by Charrotand Gregory2.

αi =βi

∑N−1j=0 β j

, βi = ∏j 6=i,i+1

s2j (5)

Using these equations the corner interpolants and theweighting functions can be evaluated for every(u,v) pointof the domain and by means of Equation1 the completeN-sided patch can be calculated. Performing this for thewhole curve network a complete surface model of smoothlyconnected patches can be automatically built up, as was il-lustrated earlier in Figure2.

4.3. Visualization

There are several ways to render the resulting surfaces andto verify their quality. These visual modes help to notice ifcontinuity conditions are not satisfied or the curvature is notevenly distributed. These issues are particularly important inaesthetic design. Figures7 and8 show objects with slicingand isophotes to verifyG1 andG2 continuity, respectively.In Figures9 and10a curvature map and an environment mapare shown for global quality verification.

Figure 7: Slicing

Figure 8: Isophotes

G. Várady, T. Várady and T. Zombori / Industrial Styling

Figure 9: Mean curvature map

Figure 10: Environment map

5. Conclusion

A curve based method to create digital models of 3D ob-jects has been described. The main difficulty is that the in-put is only a collection of hand-drawn sketches, which inmathematical sense only “loosely” define a free-form ob-ject. To obtain a consistent 3D structure a special tool, calledconstruction box was introduced. Our method creates a 3Dcurve network, which is suitable to automatically span acomplex surface, composed of general N-sided patches. Theenhanced patch formulation provides internal smoothness,smooth connections and computational efficiency for real-time modifications. Algorithmic details were given and someencouraging results were shown, generated by a prototypestyling system called Sketches. Future research issues willinclude global fairing of these type of patch complexes anddeveloping further tools to adjust the interior of patches.

Acknowledgements

This research was conducted by Cadmus Consulting, Ltd.and later by Geomagic Hungary Ltd., Budapest. The projectwas supported by the Ministry of Education, grant num-ber: OMFB-00567/2003. The Sketches prototype system isthe result of a collective effort by a larger group; authorsacknowledge important contributions by Zoltán Kovács,Volker Weiss and Bence Kodaj, and the group from the Uni-versity of Industrial Design, Budapest led by Attila Bárkányithat tested and evaluated the system.

References

1. G. Farin: Curves and Surfaces for CAGD, A practicalguide, 5th Edition, Academic Press, 20024

2. P. Charrot, J. Gregory: A pentagonal surface patchfor CAGD, Computer Aided Geometric Design, Vol1, 1984, pp 87–944, 5

3. D. Plowman, P. Charrot: A Practical Implementation ofVertex Blend Surfaces using an n-sided Patch, In:Proc.of the Mathematics of Surfaces VI, Ed.: G. Mullineux,Clarendon Press, Oxford, 1996, pp 67–784

4. M. Sonka, V. Hlavac, R. Boyle: Image Process-ing, Analysis, and Machine Vision 2nd Edition,Brooks/Cole Publishing Company, 19992, 3

5. T. Várady, T. Hermann: Best Fit Surface Curvatureat Vertices of Topologically Irregular Curve Networks,In: Proc. of the Mathematics of Surfaces VI, Ed.: G.Mullineux, Clarendon Press, Oxford, 1996, pp 411–4284