shape & tone depiction for implicit surfaces€¦ · different pen & ink stippling and...

15
Shape & Tone Depiction for Implicit Surfaces Emilio Vital Brazil a,b , Ives Macˆ edo a,b , Mario Costa Sousa b , Luiz Velho a , Luiz Henrique de Figueiredo a a IMPA – Instituto Nacional de Matem´ atica Pura e Aplicada, Brazil b University of Calgary, Canada Abstract We present techniques for rendering implicit surfaces in dierent pen-and-ink styles. The implicit models are rendered using point-based primitives to depict shape and tone using silhouettes with hidden-line attenuation, drawing direc- tions, and stippling. We present sample renderings obtained for a variety of models. Furthermore, we describe simple and novel methods to control point placement and rendering style. Implicit surfaces provide important, mathemati- cally precise information about surface properties and allow global calculations, such as point pertinence and distance evaluation, while, at the same time, also allow obtaining local dierential properties such as normals and principal curvatures. Our approach is implemented using HRBF Implicits, a simple and compact representation, which has three fundamental qualities: a small number of point-normal samples as input for surface reconstruction, good pro- jection of points near the surface, and smoothness of the gradient field. These qualities of HRBF Implicits are used to generate a robust distribution of points to position the drawing primitives. Keywords: non-photorealistic rendering (NPR), variational implicit surfaces, point-based NPR, computer-generated stippling, Hermite interpolation, radial basis functions, HRBF Implicits. 1. Introduction Pen & ink illustrations, whether with traditional or computer-generated techniques, provide a number of perceptual cues such as relationships between light and dark, shape, pattern and edge depiction, drawing direction, focus, and gradients of detail and texture. Three key elements are essential for eectively con- veying these perceptual cues: where to place draw- ing primitives, how many to place, and how to draw them [1, 2, 3, 4, 5]. In this paper, we present meth- ods approximating traditional ink-based rendering tech- niques for depicting shape and tone perceptual cues, suitable for non-photorealistic rendering (NPR) applica- tions using implicit surfaces as the primary object rep- resentation (Figure 1). Implicit surfaces provide important, mathematically precise information about surface properties, useful for answering where and how many primitives to draw across the surface. Implicit surfaces allow global cal- culations such as point pertinence (i.e. whether a point Email addresses: [email protected] (Emilio Vital Brazil), [email protected] (Ives Macˆ edo), [email protected] (Mario Costa Sousa), [email protected] (Luiz Velho), [email protected] (Luiz Henrique de Figueiredo) Figure 1: Drawing steps of David’s head with our system. The silhou- ettes with hidden-line attenuation (left); completing the tone depiction by adding more stippling marks and enhancing interior contours with a white halo (right). The model has 4096 samples, 700K render points and with CPU rendering at 9fps. is within the surface volume) and distance evaluation, and at the same time, also allow obtaining local dier- ential properties, such as curvature. This brings advan- tages over other types of geometric models. To instanti- ate our pipeline, we use the recently introduced Hermite Radial Basis Function (HRBF) Implicits which interpo- late point-normals to reconstruct an implicit surface [6]. HRBF Implicits provide a simple and compact repre- Preprint submitted to Computers & Graphics August 30, 2010

Upload: others

Post on 14-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Shape & Tone Depiction for Implicit Surfaces€¦ · different pen & ink stippling and curvature-basedhatch-ing. Proenc¸a et al. [18, 19] also extended the approach presented by

Shape & Tone Depiction for Implicit Surfaces

Emilio Vital Brazila,b, Ives Macedoa,b, Mario Costa Sousab, Luiz Velhoa, Luiz Henrique de Figueiredoa

aIMPA – Instituto Nacional de Matematica Pura e Aplicada, BrazilbUniversity of Calgary, Canada

Abstract

We present techniques for rendering implicit surfaces in different pen-and-ink styles. The implicit models are renderedusing point-based primitives to depict shape and tone using silhouettes with hidden-line attenuation, drawing direc-tions, and stippling. We present sample renderings obtained for a variety of models. Furthermore, we describe simpleand novel methods to control point placement and rendering style. Implicit surfaces provide important, mathemati-cally precise information about surface properties and allow global calculations, such as point pertinence and distanceevaluation, while, at the same time, also allow obtaining local differential properties such as normals and principalcurvatures. Our approach is implemented using HRBF Implicits, a simple and compact representation, which hasthree fundamental qualities: a small number of point-normal samples as input for surface reconstruction, good pro-jection of points near the surface, and smoothness of the gradient field. These qualities of HRBF Implicits are used togenerate a robust distribution of points to position the drawing primitives.

Keywords: non-photorealistic rendering (NPR), variational implicit surfaces, point-based NPR, computer-generatedstippling, Hermite interpolation, radial basis functions, HRBF Implicits.

1. Introduction

Pen & ink illustrations, whether with traditional orcomputer-generated techniques, provide a number ofperceptual cues such as relationships between lightand dark, shape, pattern and edge depiction, drawingdirection, focus, and gradients of detail and texture.Three key elements are essential for effectively con-veying these perceptual cues:where to place draw-ing primitives, how manyto place, andhow to drawthem [1, 2, 3, 4, 5]. In this paper, we present meth-ods approximating traditional ink-based rendering tech-niques for depicting shape and tone perceptual cues,suitable for non-photorealistic rendering (NPR) applica-tions using implicit surfaces as the primary object rep-resentation (Figure 1).

Implicit surfaces provide important, mathematicallyprecise information about surface properties, useful foransweringwhere and how manyprimitives to drawacross the surface. Implicit surfaces allow global cal-culations such as point pertinence (i.e. whether a point

Email addresses:[email protected] (Emilio Vital Brazil),[email protected] (Ives Macedo),[email protected] (MarioCosta Sousa),[email protected] (Luiz Velho),[email protected] (LuizHenrique de Figueiredo)

Figure 1: Drawing steps of David’s head with our system. The silhou-ettes with hidden-line attenuation (left); completing the tone depictionby adding more stippling marks and enhancing interior contours witha white halo (right). The model has 4096 samples, 700K render pointsand with CPU rendering at 9fps.

is within the surface volume) and distance evaluation,and at the same time, also allow obtaining local differ-ential properties, such as curvature. This brings advan-tages over other types of geometric models. To instanti-ate our pipeline, we use the recently introduced HermiteRadial Basis Function (HRBF) Implicits which interpo-late point-normals to reconstruct an implicit surface [6].HRBF Implicits provide a simple and compact repre-

Preprint submitted to Computers& Graphics August 30, 2010

Page 2: Shape & Tone Depiction for Implicit Surfaces€¦ · different pen & ink stippling and curvature-basedhatch-ing. Proenc¸a et al. [18, 19] also extended the approach presented by

sentation, requiring only a few number of point-normalsamples to reconstruct quality implicit surfaces. In ad-dition, the good behavior of HRBF Implicits allows per-forming all the general implicit surface operations usingsimpler and more efficient algorithms, even for complexmodels.

The main contribution of this paper is on applyingNPR techniques directly over implicit surfaces, bringingimportant benefits such as consistent and good projec-tion of points, controlled placement and distribution ofdrawing primitives (for artist-driven shape and tone de-piction), simple metaphors for style control in pen & inkrenderings of implicits, and real time interaction withthe rendered model.

2. Related Work

Different works have proposed NPR techniques forimplicit surfaces, addressing the problem of extract-ing contours (silhouettes, feature curves) and approx-imating different traditional rendering styles includ-ing pen & ink stylized rendering, hatching and stip-pling [7, 8, 9, 10, 11, 12], feature line extraction anddrawing [13, 14, 15, 16, 17, 18, 19], painterly render-ing [20], tone-based clip art [17], and mixed media [21].

Bremer and Hughes [7] presented an approach to ex-tract and trace silhouettes incrementally from analyticimplicit functions. Short interior ink-based strokes arealso positioned using successive ray intersection tests,including hidden-line removal (HLR). Foster et al. [9]extended these tracing and particle-based techniques byproviding additional options for stroke stylization andspecific interior stroke placement strategies on complexhierarchical implicit models. Techniques for renderingsudden blends and CSG junctions are also presented.Jepp et al. [10, 11] have further extended this NPRframework using flocking techniques to manage parti-cle distribution and render additional surface contours indifferent pen & ink stippling and curvature-based hatch-ing. Proenca et al. [18, 19] also extended the approachpresented by Foster et al. [9], by extracting and render-ing suggestive contours over point-set MPU implicits.One particular strategy is to project particles from a basemesh onto the implicit surface and model the strokes us-ing this particle distribution. This approach was used byElber [8] who also presented several methods for ink-based stroke rendering effects. More recently, Schmidtet al. [12] adapted an approach where low-resolutionsilhouette and suggestive contours are extracted from acoarse base mesh approximating the smooth surface andincrementally refined and projected to the implicit sur-

face. Stippling and HLR are also provided by adaptingsurfel techniques.

In our approach, we use a new representation, Her-mite Radial Basis Function (HRBF) Implicits [6]. Ourpoint distribution does not require relaxation tech-niques, given that HRBF provides a good projectionframework and the users can manipulate the seed place-ment directly. All our rendering primitives (silhouettecontours, stippling, hatching) are points. Rendering isperformed directly over the implicit model without re-quiring any intermediate representation. We providea Hidden Line Attenuation (HLA) method, which ap-proximates some of the visual elements of an artist-generated visual construction, orscaffolding [12].

3. System Overview

Figure 2: Overview of our pipeline (left to right), seed points areplaced across the surface enabling further placement of render points,which are subsequently used to modulate tone and shape depictions.

To obtain quality renderings of an implicit surfacewe will require two properties from that surface’s rep-resentation. First of all, we need the function not tovary too wildly close to the surface and that this surfaceshould be at leastC1, with readily available normal in-formation. The first characteristic allows us to use sim-ple methods to approximate projections of points ontothe surface and obtain good point distributions whenthose points are close to the surface. From now on, wewill assume that we have these properties and that allpoints on the surface have a well-defined normal vectorat them, later in the Section 7 we discuss the represen-tation which we chose to use. In the first step of ouralgorithm (Section 4), we place points onto the surfacewhich will be latter used as seeds to create more pointsover the surface. The number and positions of these

2

Page 3: Shape & Tone Depiction for Implicit Surfaces€¦ · different pen & ink stippling and curvature-basedhatch-ing. Proenc¸a et al. [18, 19] also extended the approach presented by

seeds have a direct impact on the quality of the finalimage. After we have a good distribution of seeds onthe surface, a refinement phase begins (Section 5) con-sisting of increasing two sets of points. The first typecontains stippling points, which do not follow any spe-cific direction and result in a well distributed coverageof the surface. The second type follows particular direc-tions to create the perception of short strokes. Finally,given a fixed camera position, we classify the generatedpoints (Section 6) as either front, back, or silhouette anduse this classification to define how the points will berendered. Figure 2 illustrates our pipeline.

4. Seed Placement

The seed placement step is important to define thefinal drawing, since the positioning of all subsequentpoints will be derived from the seeds’ placement. Weemploy a semi-automatic approach which starts with acertain set of seeds that can be positioned with or with-out direct user’s interaction. Before we continue talkingabout seed placement, we need to discuss the represen-tation for the implicit surfaces. There are many waysto define implicit surfaces and notable examples are theBlobTree [22], piecewise algebraic surface patches [23]and convolution surfaces [24]. One compact represen-tation to implicit surfaces can be derived by choosinga suitable interpolation method and use surface sam-ples to define it. Our system employs Hermite samples(points and normals) and radial basis functions for inter-polation (Section 7). In order to automatically create aset of seed points, we employ two different techniques.The first requires samples on the surface, while the otheris more general and could be used for an implicit whichdoes not have previous points on it.

The strategy which uses the samples themselves asseeds works well because it does not require projectionof points onto the surface (which may be an expensiveprocess). However, it is only recommended when thesamples are well distributed over the surface, which istypically the case when data is sampled from a regularparametrization or a mesh. On the other hand, whenwe do not have samples over the surface or when thesepoints are not well distributed, we need a different strat-egy to obtain a good seed placement and capture thesurface’s overall shape. The second seed placementtechnique relies on an implicit surface with propertieswhich allow good point projections. We fill the sam-ples’ bounding box with points and then project themonto the surface. In order to do that, we define the res-olution R which will be used in its largest dimension,defining the resolution of the other two dimensions to

Figure 3: Two approaches to place seeds. Left: exploiting thesamplesused to define the surface. Right: a bounding box filled with jitteredgrid points subsequently projected onto the implicit surface.

create a regular grid with cubic cells. In the center ofeach cell, we place a point which is randomly perturbedto a distance up toαL, whereL is the side length of thecell (in this work, we useR = 8 andα = 0.25). Thisrandom displacement reproduces the effect of jitteringand diminishes sampling artifacts. In Figure 3 we canobserve one advantage of using the bounding box strat-egy (right) instead of the samples’ approach (left), thecomplete model is depicted and can be inspected.

However, both of these approaches may fail evenwhen we have samples well-distributed over the surface,a specific region can have a lack of points, then puttingfew points in the right place will improve the final im-age. The bounding box strategy could cluster pointsover some part of the surface or create lack of points,in the same model. Tools to manipulate seeds directlyare very important to achieve better results (Figure 4).The user can sketch a region in the screen space to selectvisible points, then delete all or halve the points in theseregions. To halve the points, 50% are randomly chosenand deleted. We have the option to place points directlyon the model. The user clicks where she/he wishes toplace the new point but if we just project this point itcould stop far away from the chosen position. In or-der to place the point below the mouse, we execute aline-search with constant stepsize to find an approxima-tion to the first surface intersection with a ray originatedfrom the camera (Figure 5), then we use this position tostart the projection. As a robust and automatic alterna-

3

Page 4: Shape & Tone Depiction for Implicit Surfaces€¦ · different pen & ink stippling and curvature-basedhatch-ing. Proenc¸a et al. [18, 19] also extended the approach presented by

Figure 4: Tools to improve the quality of the seed distribution. After computing seed points (a), the user can select areas to remove (b) and (c)as well as to insert points in order to obtain a good distribution of seeds on the surface (d). Finally, we can compare the results after 3 rounds ofrefinement using the original seed points (e) and using the manipulated seed points (f).

Figure 5: Placing a new point (black) using the mouse as input.Redpoint is projection point if it is placed without any approximation tostart the projection, green point is the final point position using a line-search (along the green line) to choose an approximation.

tive to our user-assisted approach, the relaxation-basedmethod presented by Meyer et al. in [25] might be usedeither to sample the surface from scratch or as a post-processing step distributing seeds already on the surfacein a curvature-dependent manner.

To approximate the projection of one pointp ontoS,we use the unconstrained optimization method of steep-est descent with Armijo Rule to minimize the function12

(

f (x))2, in which p0 = p is used as the initial iterate

(for more details, see Appendix B). It is worth noticingthat this simple method provides a good enough approx-imation to the projection ofp onto the implicit surfaceas long as the functionf has properties similar to thoseof a signed distance function inp.

Figure 6: Multi-Level Sample Refinement. left to right, levels of re-finement: one, two, and three.

5. Multi-Level Sample Refinement

After the seeds have been placed on the surface, theirpositions are ready to be used to generate render points.We divide the render points in three groups: stippling,principal directions of curvature, and combing direc-tions. Stippling points are placed in a scattered fash-ion, focusing on coveringS uniformly, while the twoother groups provide linear mark depictions by cluster-ing points along a directional field. All three groupsshare the same recursion idea. We use the actual seedpositions to place a new point near the surface, locatedat a distanceρ from its seed. After that, we project thenew points onto the surface using the same method de-scribe in Section 4. In the next step, all the recentlygenerated points will become seeds of its own group,andρ = ρ/3 (Figure 6). The process goes on until thedesired visual effect is achieved. It is important to no-tice that, by using this 1/3 rule, the distance betweenthe seed and all its descendants is limited; in fact, after

4

Page 5: Shape & Tone Depiction for Implicit Surfaces€¦ · different pen & ink stippling and curvature-basedhatch-ing. Proenc¸a et al. [18, 19] also extended the approach presented by

Figure 7: Placement of render points (black) near the surfaceusingthe given seed (blue). Left: using the tangent plane. Right: using theosculating circle.

k steps, the distance between the original seed and anydescendant will be less than 1.5ρ0 and two points withthe same original seed will be at most 1/3kρ0.

5.1. Sampling near the Surface

Since the projection method will be faster and moreprecise when the point is near the surface, we try toplace new points as close as possible to it. Basically wehave two approaches to place the new points: the firstone uses the tangent plane of the surface, and the otheruses curvature estimation (Figure 7). Finding the tan-gent plane of a projected or sample point of the implicitsurface is virtually costless, since these points alreadyhave their gradients calculated. In contrast, in our ap-proach, the use of curvatures to estimate the new pointposition may be an expensive process, with a highercomputational cost than to project a point a bit fartherfrom the surface. As a result, this approach is only usedwhen we place render points at distancesρ along one ofthe principal directions of curvature on the osculatingcircle (Section 5.3).

The initial step sizeρ0 defines whether the points willbe well spread or clustered over the surface. We usetwo semi-automatic approaches to pick a good estimateof ρ0. In the first approach, when placing seeds fromthe bounding box, the firstρ0 approximation will be thevoxel diameter. In the second approach, when seeds areplaced directly from the samples, we use the averageof their empty ball diameter. However, these two ap-proaches can either underestimate or overestimateρ0,thus creating clusters or visually broken lines, respec-tively. To avoid these cases, our system allows the userto explicitly setρ0. In order to provide a good visualfeedback, our system randomly places square patcheswith sides equal to 2ρ0 over the surface (Figure 8).

5.2. Stippling Points

To generate the stippling points we use the seeds’tangent plane. We need to create a basis to the affineplane to place these points. There are many possibil-ities for building the basis using the normal vector as

Figure 8: Using square patches to chooseρ0. Upper left, the firstapproximation toρ0; bottom left, the user’s choice; right, the visualfeedback after 2 steps of subdivision

Figure 9: Placement of stippling points: top view (a, b, c) andcov-ering the entire model (d). (a) seeds over the surface; (b) points gen-erated, with red square representing the jitter range; (c) results of onesubdivision step; (d) starting with 6 seed points, after 5 subdivisionsteps, the final results over a sphere;

input, with all choices having at least one point of dis-continuity [26]. For this step in our pipeline, we selecta method which has two points of discontinuity, afterobserving they avoid patterns (Figure 9(d)). To createour basis, we rotate the normal to a fixed axisr ′ = Rnand then compute the cross productsu = n × r ′ andr = n × u. After that, n, u and r are unitized. Ob-serve that, on the fixed axis, this method is not welldefined; however, we observed this was not a problemwhen placing stippling points. Four points are placednear the surface by using the local coordinates of the

5

Page 6: Shape & Tone Depiction for Implicit Surfaces€¦ · different pen & ink stippling and curvature-basedhatch-ing. Proenc¸a et al. [18, 19] also extended the approach presented by

Figure 10: Comparing drawing directions. Combing directions over (a) the sphere and (b) the elephant model. (c) First and second principaldirections of curvature (top and bottom, respectively).

affine plane:pi, j = i · ρr + j · ρu, wherei, j = ±1+ u,andu ∼ U([−0.125, 0.125]), meaning thatu is a ran-dom variable with uniform distribution within the inter-val [−0.125, 0.125] (Figure 9).

5.3. Drawing Direction

To create the perception of short continuous lines,we use the smoothness property of the implicit and amethod to create smooth directions. The idea is as fol-lows: since we have a smooth variation of normals anda piecewise smooth functionF : S × S

2 → S2 × S

2,F(p, n) = (r , u), we use these properties to create a se-quence of pointspi = ±ρw, wherew could be eitheruor r . As previously mentioned, the points will be closerto each other at each step of the subdivision; therefore,after a few steps, we have the visual perception of a linebeing defined (Figure 6, bottom row). At the first sub-division step, the original seeds throw points along both

directions (r andu). After this first subdivision step, weseparate the points in two sets, generated usingr andu, respectively. As a result, each set will only generatepoints along its original direction.

We work with two different functionsF to createthe perception of lines. The first one is the PrincipalDirections of Curvatures, using the method describedby Kindlmann et al. [27] to calculate a reduced Hes-sian matrix, followed by its eigenvalues and eigenvec-tors to get the principal directions and values of cur-vature. The second function is theCombingDirec-tions, using the method described in [26] to createthe basis. This approach splits the sphere into 12 re-gions of directions. This partition creates a patternwhich is curvature-independent. These “combing di-rections” provide another way of distributing line direc-tions across the model. Qualitatively, they seem to de-pict the overall perception of ‘mass volume’ of the ob-

6

Page 7: Shape & Tone Depiction for Implicit Surfaces€¦ · different pen & ink stippling and curvature-basedhatch-ing. Proenc¸a et al. [18, 19] also extended the approach presented by

ject. However, further work is necessary for evaluatingsuch perceptual cues and the possible combination withcurvature lines and other line directions. In Figure 10,we compare the combing directions with the principaldirections of curvature.

6. Rendering

At this stage, we are ready to use the render pointsalready placed over the surface to visualize the implicitmodel in different styles. The render points are classi-fied in three sets: front, back and silhouette. After that,they are assigned a point size and an alpha value and aresubsequently sent to the standard graphics pipeline. Wecalculateν = n · v, wheren is the normal at the pointandv is the viewing vector. Using a thresholdδ > 0,we identify front points whenν < −δ, back points whenν > δ, and silhouette points otherwise. After classify-ing all points, different rendering effects are created, asdescribed next.

6.1. Silhouettes and Hidden-Line Attenuation

In our system, the silhouette points are always dis-played; however, occluded points could appear, thuscreating artifacts. We would like to provide different vi-sual effects instead of simply removing occluded points(Figure 11, middle and right). We attenuate hidden-lines by displaying the back and front points in thesame color as the background and with an opacity valueα ∈ [0, 1] (Figure 12). The tone of the silhouette pointwill be closer to the background’s as much as its depth-complexity. To be sure the silhouette points will not beoccluded by other points, we use a decay function forα.Theα values of the front points have a quadratic decayfunctionα f = ν

2λ, and we useαb = 0.2(log(ν−.05)+5)λto the back points (Figure 11, left), whereλ is a param-eter controlled by the user. Ifλ = 0, all silhouettes aredisplayed (Figure 11, top right); ifλ > 0, then we haveline attenuation (Figure 11, bottom right). The size ofthe back points and itsα-decay function allows to createa halo effect on the silhouette cusp points, but we needto control the point size to achieve the same visual effectindependent of scale. In order to enhance the silhouettesthe user has the option to draw a thicker line in the tan-gent direction of the silhouette, i.e. a line with directionn × v. In Figure 13, we can observe this effect. In thenext section, we provide more details regarding how tocontrol the scaling effect.

Figure 11: Top-left: theα decay when the point gets closer to the sil-houette: back points (red) and front points (green). Top-right: withouthidden line attenuation. Bottom row: final results.

Figure 12: Different levels of hidden-line attenuation accumulatedalong the viewing direction: (a) none (b) full (c) partial. Ellipses cor-respond to the tone value at the intersection point (between surfaceand viewing directions). Boxes correspond to the alpha attenuationat the point. Line colors correspond to front-faces, back-faces andsilhouettes (red, green and blue, respectively).

6.2. Tone Depiction

In our approach, tone is depicted by removing front-points from the surface to create three main types of ef-fects: shading, depth attenuation and tone scaling. Thefront points are removed randomly, using different prob-ability density functions. The back points are plottedfollowing the same rules of the former section. Lightingeffects are achieved by calculating the toneτ ∈ [0, 1] atthe point, using any choice of illumination model (Fig-ure 14). Let us define a random variableu ∼ U[0, 1].A render point is displayed only ifu ≥ τ. In this work,lighting effects were generated usingτ = (n · l)λ, wherel is the unit light vector and the parameterλ allowsthe user to control the light intensity. Depth attenua-tion is achieved by removing both silhouette and front

7

Page 8: Shape & Tone Depiction for Implicit Surfaces€¦ · different pen & ink stippling and curvature-basedhatch-ing. Proenc¸a et al. [18, 19] also extended the approach presented by

Figure 13: The Jaw model: without and with silhouette enhancement.

points. Similarly to lighting effect, points withτ ≥ uare removed. We use the approach presented in [28],τ = 1− log(d/dmin)/ log(dmax/dmin), whered is the dis-tance between the point and the camera anddmin anddmax is the depth where we start the attenuation and thefar visible depth, respectively (Figure 22). Tone scalingpreserves shading coherence when the model is scaledup or down due to camera motion (Figure 15). Thechance of a front-point being displayed has as an expo-nential probability density function with the zoom fac-tor as a variable; To control the Halo-effect, we use thesame function, but now to affect the size of the back-point.

6.3. Local Style Control

All effects described earlier are global, meaning thatthey affect all points on the surface. To give morecontrol and achieve different rendering styles, the sys-tem allows the user to select regions to choose differentkinds of points to be drawn. Inside the regions will bedraw only: (i) silhouettes, (ii) stippling, (iii) first or (iv)second direction, (v) both directions or (iv) all points.

Figure 14: Tone depiction by removing render points proportionallyto the light intensity.

Figure 15: Scaling a shaded knot model by removing render points.

The user could yet choose a decay function to create asmooth transition between these regions (Figure 16).

Regions are selected by placing spheres in scene-space and adjusting their radii and style. The interfaceis very simple, the user freezes the camera positions anddrags the mouse to set the sphere position, there is nolimit on the number of spheres for a model. The feed-back is interactive and allows to compose complex ren-dering styles. We implement two decay functions, bothdepend on the distance to the sphere center. The firstone is a quadraticG(d) = 1−(d/r)2 while the other is anexponentialG(d) = e(−4(d/r)2). Whered is the distanceof the point to the center of the sphere,r is the radiusof the sphere andd > r ⇒ G(d) = 0. As before, theprobability that the point will be plotted is going to bethe function value. In Figure 17, we observe the effectof controlled blending among different rendering styles.

7. Implicit Representation

In order to place our point-based primitives over asurface, we rely on a few basic geometric operators,namely, projection of a point onto a surface and the

8

Page 9: Shape & Tone Depiction for Implicit Surfaces€¦ · different pen & ink stippling and curvature-basedhatch-ing. Proenc¸a et al. [18, 19] also extended the approach presented by

Figure 16: Employing local style control to edit point placement anddensity to direct the viewer’s attention to the regions of interest.

computation of its normals, curvatures and principal di-rections. By employing a suitable representation, theseoperations can be made fast and implemented usingsimple approximate algorithms, yet still giving verygood results.

Our representation of choice is based on implicitly-defined surfaces computed from points and normals us-ing the variational extension of the HRBF Implicitsmethod of [6] presented in [29]. This representationhas many desirable properties which allow us to employoff-the-shelf linear algebra packages together with verysimple iterative algorithms to both compute the implicitfunction and implement our basic geometric operatorsrobustly enough.

In the following, we briefly review HRBF Implicitsand our scheme for placing points onto a surface.

7.1. Hermite RBFs

Recently introduced in [6], HRBF Implicits provide apowerful tool to reconstruct implicitly-defined surfacesfrom points and normals. They present many desirableproperties of which we take advantage in implementingour pipeline. For instance, the reconstructed surface isguaranteed to interpolate the given points; in addition,the unit normal at those points equals the gradient ofthe function without the need of creating artificial offsetsamples. Since the gradient of the implicit function hasunit norm at the samples, the function does not vary too

Figure 17: Comparing the results of global point placement (left) andlocalized style control (right). In the figure, we illustrate an effectof blending attenuated silhouettes, a single combing-direction (red),both combing-directions in cross-patterns (yellow) and uniform pointdistribution (black) under local illumination.

wildly close to the surface, a property useful for sim-ple iterative projection algorithms. Also, the implicitfunction is guaranteed to be at leastC1 at the samplepoints and, by properly choosing the RBF,C∞ every-where else, hence the reconstructed surface is typicallyC1 at the samples andC∞ otherwise. This is a usefulproperty in estimating the local curvatures and princi-pal directions at a given point on the surface. Experi-ments indicate that their Hermite interpolation propertyallows good behavior of both the reconstructed surfaceand the implicit function even under nonuniform andcoarse samplings, thus filling holes and recovering localgeometric details captured with the first-order informa-tion provided by normals.

Since the main focus of this work is on rendering, weuse a HRBF Implicits fitter as a black-box for which thepoints{x j}Nj=1 ⊂ R

3 and normals{n j}Nj=1 ⊂ S2 samples

are the input and a functionf : R3 → R, implicitly

defining a surface byS = f −1(0) with the propertiesmentioned above, is the output. For the sake of com-pleteness, we briefly review the form of a HRBF Implic-its interpolant and how to fit its coefficients from givenpoints and normals. In Appendix A, we provide moredetails in order to ease its implementation.

The HRBF Implicit Interpolant

Macedo et al. [6] introduced HRBF Implicits as aninterpolatory method for recovering implicitly-definedsurfaces from points and normals. By making use of atheoretical framework for generalized interpolation us-ing radial basis functions, a concrete expression for the

9

Page 10: Shape & Tone Depiction for Implicit Surfaces€¦ · different pen & ink stippling and curvature-basedhatch-ing. Proenc¸a et al. [18, 19] also extended the approach presented by

implicit function f : R3→ R was derived as follows:

f (x) =N∑

j=1

{

α jψ(x − x j) − 〈β j ,∇ψ(x − x j)〉}

+ p(x) (1)

whereα j ∈ R, β j ∈ R3, p : R3 → R is a trivariate poly-nomial and the scalar fieldψ : R3 → R is defined by aradial basis functionφ : R+ → R asψ(x) := φ(‖x‖). Al-though the original paper does not contain the polyno-mial term, this augmentation is possible by introducingappropriate side-constraints as we explain later.

The authors [6] provide sufficient conditions and ex-amples of suitable choices forφ attending the assump-tions made in their theoretical considerations. Mostnotably, the Gaussiansφσ(r) := exp(− r2

2σ2 ) and suit-able Wendland’s compactly supported functions [30], ofwhich φρ(r) := (1 − r

ρ)4+(4

rρ+ 1) is the one they em-

ployed. It was shown that, by enforcing the interpo-lation conditionsf (x j) = 0 and∇f (x j) = n j at eachsample point, the coefficients in the expression above(without the polynomial term) are uniquely determinedand can be recovered by solving the induced symmetricpositive definite linear system.

In order to introduce augmenting polynomial terms,which is useful when employing compactly-supportedRBFs, we need to fix a basisp1, . . . , pM : R

3 → R

for these trivariate polynomials, whereM =(

d+33

)

andd is their degree; in addition, we need to be sure theonly polynomial with at most that degree whose valueand gradient are zero at all sample points is the constantzero; we also need the additional side-constraints on thecoefficientsα j andβ j ,

N∑

j=1

{

α j pk(x j) + 〈β j ,∇pk(x j)〉}

= 0, ∀k = 1, . . . ,M.

(2)Together with the interpolation conditions, these con-straints result in a symmetric (indefinite) linear systemwith 4N + M variables which is guaranteed to havea unique solution for every (pairwise-different) samplepoints and any prescribed normals.

In this work, we use a radial function which does notattend the strict conditions presented in [6], the trihar-monicφ(r) := r3. However, it was shown by Duchonin his seminal paper [31] (and exploited in [29]) that,for this choice of basis function and linear augmentingpolynomials (d = 1), the resulting Hermite interpolationsystem is well-posed for any set of (pairwise-different)sample points. Moreover, the recovered implicit func-tion above will minimize a suitable generalization of thethin-plate energyfor Hermite problems inR3.

8. Results and Discussion

Figure 18: Horse model rendered using style control: both uni-form stippling and combing directions (body) and just uniformly-distributed stippling points (head and neck).

Figure 19: General and detailed rendering of a garden lamp.

Our NPR techniques successfully depict shape andtone of HRBF Implicits by extracting and renderingsilhouettes with hidden-line attenuation, stippling, andhatching following principal curvatures and combing di-rections. All the results were generated on an 2.67 GHzIntel i7 920, 6 gigabyte of RAM and OpenGL/nVIDIAGeForce GTX 295 graphics. Timings are presented inTable 1 for models representing a variety of subjects.Our results were generated with point samples from 3Dmeshes (Stanford bunny, Heart, Gargoyle, Lamp, Ele-phant, Horse, Hand, Jaw, VenusandDavid), parametric

10

Page 11: Shape & Tone Depiction for Implicit Surfaces€¦ · different pen & ink stippling and curvature-basedhatch-ing. Proenc¸a et al. [18, 19] also extended the approach presented by

Figure 20: Sketch-based model of a duck rendered using our system.

Figure 21: A head rendered in two diferent styles.

surfaces (Tori andKnot), height-maps (Terrain) and im-plicit surfaces (SphereandDuck). All pre-processingand run-time rendering were computed on the CPUonly.

Table 1 shows that all models used in our experimentsare rendered interactively. Also, the pre-processing timedepends on the number of points and samples. As ex-pected, more samples result in more complex HRBFcomputations. In addition, placing render points alongprincipal directions of curvature takes longer than alongthe combing directions.

Our approach produces promising results approxi-mating pen-and-ink styles as found in line drawings ex-ecuted by hand on models reconstructed from a givensmall set of point-normal samples. We evaluated ourresults by observing how close they approximate tradi-tional pen & ink drawings.

Figures 1 and 21 illustrate the steps for render-ing pen-ink drawings using our system in a similarway as found in traditional drawing production (i.e.from initial sketch to finished rendering). Given a setof point-normal samples, our system initially recon-structs the model and allows the user to select ren-dering techniques providing different levels of visualabstractions for shape and tone depiction using light-ing. Figure 10 provides a comparison between hatch-ing along the combing directions and the principal di-rections of curvature on the model of an elephant fit-ted from 2048 samples. Observe the different shape de-piction abstractions.Figure 15 illustrates tone depic-tion of a knot model rendered using a combination ofcurvature-based hatching, stippling and a slight atten-uation of hidden-lines (enhancing the shape depiction).Figure 16shows a blend among uniform point stipplingand some combinations between the principal directionsof curvature rendered over a lung model. Notice thatstrokes placed along the first principal direction of cur-vature depict volumes, while strokes placed along thesecond direction of curvature direct our eyes along thelength of the model [32, 33, 34, 35].Figure 17 illus-trates how a local style control allows the user to directthe focus of attention to a specific region.Figure 18de-picts a horse model rendered using a style control whereboth uniform stippling and combing directions are em-ployed on the body and only uniformly-distributed stip-pling points are placed above the neck.Figure 19 illus-trates a garden lamp model with planar regions. Noticethat sharp features are adequately rendered.Figure 20shows a sketch-based model of a duck [29] fitted fromcoarsely-sampled sparse 3D curves and rendered usingour system.Figure 22 shows a Canyon terrain model(512 point-normal samples) rendered in different ink-

11

Page 12: Shape & Tone Depiction for Implicit Surfaces€¦ · different pen & ink stippling and curvature-basedhatch-ing. Proenc¸a et al. [18, 19] also extended the approach presented by

Model Dir. Samples Stippling Hatching FPSSphere(f. 10) C 6 (0.0s) 3.7K (0.1s) 600K (2.7s) 11Bunny(f. 4) – 256 (0.1s) 180K (34s) – 33Terrain (f. 22) P 512 (0.9s) 1,600K(807s) 410K (168s) 3Duck(f. 20) P 1021 (5s) 6K (6s) 343K (284s) 16Jaw (f. 13) P 1023 (5s) 131K (120s) 55K (48s) 32Gargoyle(f. 2) C 1024 (5s) 638K (409s) 163K (55s) 19Tori (f. 14) P 1024 (5s) 639K (506s) 53K (59s) 45Heart (f. 11) C 1024 (5s) 127K (130s) 266K (162s) 14Horse(f. 18) C 1025 (5s) 128K (110s) 266K (145s) 16Lungs(f. 16) P 1035 (5s) 128K (100s) 165K (118s) 41Head(f. 21) P 1038 (5s) 8K (10s) 418K (3118s) 15Knot (f. 15) P 1440 (16s) 179K (207s) 75K (102s) 22Elephant(f. 10) C 2048 (38s) 10K (15s) 532K (506s) 11Elephant(f. 10) P 2048 (38s) 10K (15s) 532K (803s) 11Hand (f. 17) C 2062 (38s) 255K (438s) 330K (425s) 13Lamp(f. 19) C 2469 (60s) 308K (592s) 128K (206s) 16David (f. 1) C 4096 (283s) 520k (1789s) 216K (1747s) 9

Table 1: Time (in seconds) given a drawing direction (C for combing, P for principal directions of curvature); number of samples, stippling andhatching marks, and frames per second.

based styles, properly depicting both shape and tone.

9. Conclusions and Future Work

In this work, we present a completely point-basedapproach for depicting shape and tone in models rep-resented as implicit surfaces. For this representation,we employ the recently introduced HRBF Implicits fortheir good properties in reconstructing implicit mod-els from few samples consisting of points and theirassociated normals. Among the features of our ap-proach, the most salient issues regard our strategies forplacing initial seeds, a multilevel refinement of pointsover the surface, choices of refinement directions sug-gesting lines drawn along principal directions of cur-vature, a tiled direction field (the combing direction),a smoother curvature-independent choice of directions,and also new approaches to depict shape and tone byimplementing, in a simple manner and directly over theHRBF implicit model, ink-based NPR techniques in-cluding silhouettes, attenuated hidden-lines and light-ing tones by stippling and hatching in which all of thesecan be combined into complex renderings with artist-controlled tools and operators. Our approach demandsan initial preprocessing which densely samples the im-plicit surface, however, after this step, both camera andlighting parameters can be changed still at interactiverates on a single core of modern CPUs.

There are still many avenues for further improve-ment one may explore: the pre-processing step might

be made faster by exploiting the parallelizability of theseed placement and point refinement. Both the evalua-tion of the HRBF Implicits interpolant and the remotionof render points could be implemented in graphics hard-ware while the HRBF fitting could be made in the CPU(even exploiting domain decomposition for parallel pro-cessing of large sample sets). Also, even though the ba-sic geometric operators on which we rely in designingour pipeline are general enough to be implemented fordifferent representations, we have only experimentedwith models based on HRBF Implicits. We plan toexperiment with data and representations from differ-ent application domains to further evaluate the suitabil-ity of our method. Also, specific stylization effects forindividual drawing primitives is an interesting and im-portant topics to investigate and integrate in our system[36, 5]. Finally, a more formal evaluation with trainedartists and illustrators should be performed and mightindicate directions for further usability investigation.

Acknowledgements

We would like to thank the Digital MichelangeloProject, Stanford University for the David model, theStanford Computer Graphics Laboratory, NTU 3DModel Database, the AIM@SHAPE project, and RichPito (University of Pennsylvania, GRASP Lab) whomade the other models available for use in this paper.Many thanks to Nicole Sultanum and Patricia ReboloMedici for their useful discussions and advice. We also

12

Page 13: Shape & Tone Depiction for Implicit Surfaces€¦ · different pen & ink stippling and curvature-basedhatch-ing. Proenc¸a et al. [18, 19] also extended the approach presented by

Figure 22: Shape and tone depiction of the Canyon terrain model in different pen & ink styles using our system. In the bottom frame we comparethe light effect (left) with the light and depth attenuation effect (right). The model has 512 samples, 2M render points and with CPU rendering at 8fps.

thank the anonymous reviewers for their careful andvaluable comments and suggestions. This research wassupported in part by the iCORE/Foundation CMG In-dustrial Research Chair in Scalable Reservoir Visual-ization, by Discovery Grants Program from the NaturalSciences and Engineering Research Council of Canada,and grants from the Brazilian funding agencies CNPqand CAPES/PDEE.

References

[1] Andrews WM. Introduction to perceptual principles in medicalillustration: lines & illusions. Tutorial Notes, Illustrative Visu-alization for Medicine and Science (Eurographics ’06) 2006;.

[2] Lohan FJ. Pen & Ink Techniques. Contemporary Books, Inc.;1978.

[3] Smith JA. The Pen and Ink Book: Materials and Techniques forToday’s Artist. Watson-Guptill Publications; 1992.

[4] Deussen O. Aesthetic placement of points using generalizedLloyd relaxation. In: Proc. of 5th Intl. Symposium on Com-

putational Aesthetics in Graphics, Visualization and Imaging(CAe’09). Eurographics Association; 2009, p. 123–8.

[5] Kim SY, Maciejewski R, Isenberg T, Andrews WM, Chen W,Sousa MC, et al. Stippling by example. In: Proc. of 7th Intl.Symposium on Non-Photorealistic Animation and Rendering(NPAR ’09). 2009, p. 41–50.

[6] Macedo I, Gois JP, Velho L. Hermite interpolation of implicitsurfaces with radial basis functions. In: Proc. of XXII Brazil-ian Symposium on Computer Graphics and Image Processing(SIBGRAPI ’09). 2009, p. 1–8.

[7] Bremer D, Hughes JF. Rapid approximate silhouette renderingof implicit surfaces. In: Proc. of Implicit Surfaces ’98. 1998, p.155–64.

[8] Elber G. Line art illustrations of parametric and implicit forms.IEEE Transactions on Visualization and Computer Graphics1998;4(1):71–81.

[9] Foster K, Jepp P, Wyvill B, Sousa MC, Galbraith C, Jorge JA.Pen-and-ink for blobtree implicit models. Computer GraphicsForum (Eurographics ’05) 2005;24(3):267–76.

[10] Jepp P, Wyvill B, Sousa MC. Smarticles for sampling and ren-dering implicit models. In: Proc. of 4th Theory and Practice ofComputer Graphics (TPCG’06). 2006, p. 39–46.

[11] Jepp P, Denzinger J, Wyvill B, Sousa MC. Using multi-agent

13

Page 14: Shape & Tone Depiction for Implicit Surfaces€¦ · different pen & ink stippling and curvature-basedhatch-ing. Proenc¸a et al. [18, 19] also extended the approach presented by

systems for sampling and rendering implicit surfaces. In: Proc.of XXI Brazilian Symposium on Computer Graphics and ImageProcessing (SIBGRAPI ’08). 2008, p. 255–62.

[12] Schmidt R, Isenberg T, Jepp P, Singh K, Wyvill B. Sketch-ing, scaffolding, and inking: a visual history for interactive3D modeling. In: Proc. of the 5th Intl. Symposium on Non-Photorealistic Animation and Rendering (NPAR ’07). 2007, p.23–32.

[13] Ricci A. A constructive geometry for computer graphics. TheComputer Journal 1973;16(2):157–60.

[14] Rosten E, Drummond T. Rapid rendering of apparent contoursof implicit surfaces for realtime tracking. In: British MachineVision Conference. 2003, p. 719–28.

[15] Burns M, Klawe J, Rusinkiewicz S, Finkelstein A, DeCarlo D.Line drawings from volume data. ACM Transactions on Graph-ics (SIGGRAPH ’05) 2005;24(3):512–8.

[16] Plantinga S, Vegter G. Computing contour generators ofevolving implicit surfaces. ACM Transactions on Graphics2006;25(4):1243–80.

[17] Stroila M, Eisemann E, Hart J. Clip art rendering of smoothisosurfaces. IEEE Transactions on Visualization and ComputerGraphics 2008;14(1):135–45.

[18] Proenca J, Jorge J, Sousa M. Sampling point-set implicits.In: Proc. of 4th IEEE/Eurographics Symposium on Point-BasedGraphics (PBG ’07). 2007, p. 11–8.

[19] Proenca J, Jorge J, Sousa M. Suggestive contours over point-set implicits. In: Proc. of 3rd Intl. Conference on ComputerGraphics Theory and Applications (GRAPP ’08). 2008, p. 171–80.

[20] Akleman E. Implicit painting of CSG solids. In: Proc. of CSG’98, Set-Theoretic Solid Modelling: Techniques and Applica-tions. 1998, p. 99–113.

[21] Jepp P, Araujo BD, Jorge J, Wyvill B, Sousa MC. Style nodesfor hierarchical tree-based implicit surface modelling. In: Proc.of 5th Intl. Symposium on Computational Aesthetics in Graph-ics, Visualization and Imaging (CA’09). 2009, p. 41–8.

[22] Wyvill B, Guy A, Galin E. Extending the csg tree-warping,blending, and boolean operations in an implicit surface mod-eling system. Computer Graphics Forum 1999;18(2):149–58.

[23] Sederberg TW. Piecewise algebraic surface patches. ComputerAided Geometric Design 1985;2(1):53–9.

[24] Bloomenthal J, Shoemake K. Convolution surfaces. SIG-GRAPH Comput Graph 1991;25(4):251–6.

[25] Meyer MD, Georgel P, Whitaker RT. Robust particle sys-tems for curvature dependent sampling of implicit surfaces.Shape Modeling and Applications, International Conference on2005;0:124–33.

[26] Stark MM. Efficient construction of perpendicular vectors with-out branching. Journal of Graphics, GPU, & Game Tools2009;14(1):55–62.

[27] Kindlmann G, Whitaker R, Tasdizen T, Moller T. Curvature-based transfer functions for direct volume rendering: Methodsand applications. In: Proc. of 14th IEEE Visualization (VIS’03). 2003, p. 513–20.

[28] Barla P, Thollot J, Markosian L. X-toon: an extended toonshader. In: Proc. of 4th international symposium on Non-photorealistic animation and rendering (NPAR ’06). 2006, p.127–32.

[29] Brazil EV, Macedo I, Sousa MC, de Figueiredo LH, Velho L.Sketching Variational Hermite-RBF Implicits. In: Proc. SketchBased Interfaces and Modeling. 2010, p. 1–8.

[30] Wendland H. Piecewise polynomial, positive definite and com-pactly supported radial functions of minimal degree. Ad-vances in Computational Mathematics 1995;4(1):389–96. doi:10.1007/BF02123482.

[31] Duchon J. Splines minimizing rotation-invariant semi-norms inSobolev spaces; vol. Constructive Theory of Functions of Sev-eral Variables, 571 ofLecture Notes in Mathematics. SpringerBerlin Heidelberg; 1977, p. 85–100.

[32] Rawson P. Drawing. University of Pennsylvania Press; 1987.[33] Goldstein N. The Art of Responsive Drawing. Prentice-Hall;

1999.[34] Hertzmann A, Zorin D. Illustrating smooth surfaces. In: Proc.

of SIGGRAPH ’00. 2000, p. 517–26.[35] Sousa M, Samavati F, Brunn M. Depicting shape features with

directional strokes and spotlighting. In: Proc. of ComputerGraphics International (CGI ’04). 2004, p. 214–21.

[36] Xu H, Chen B. Stylized rendering of 3D scanned real worldenvironments. In: Proc. of the 3rd Intl. Symposium on Non-Photorealistic Animation and Rendering (NPAR’04). 2004, p.25–34.

[37] LAPACK – Linear Algebra PACKage. Last visit in August2010. URLhttp://netlib.org/lapack/.

[38] Bertsekas DP. Nonlinear Programming. Athena Scientific; 2nded.; 1999.

Appendix A. Variational HRBF Implicits

In this work, we employ the Variational HRBF Im-plicits presented in [29] to instantiate our pipeline forrendering implicit surfaces. For the sake of complete-ness and ease of reference, we provide below all the for-mulas needed to assemble the interpolation system andto evaluate the implicit function as well as its gradient.

In order to assemble the interpolation system, we em-ploy a direct implementation of the block matrix definedby a samplewise grouping of the conditionsf (xi) = 0and∇ f (xi) = ni , where f is given in (1), and by theside-conditions for degree-one polynomials in (2). Thisresults in the following set of equations

[

0ni

]

=

N∑

j=1

[

ψ(xi − x j) −∇ψ(xi − x j)T

∇ψ(xi − x j) −Hψ(xi − x j)

] [

α j

β j

]

+

[

1 (xi)T

0 I3×3

] [

ba

]

[

00

]

=

N∑

j=1

[

1 0T

x j I3×3

] [

α j

β j

]

where the unknowns{

α j , βj}N

j=1are computed after an

LDLT -factorization of the resulting symmetric (indef-inite) matrix and subsequent forward- and backward-substitutions as implemented in theDSYSV routine fromtheLAPACK library [37]. The concrete formulas for thefunctions used in the subblocks above are given by

ψ(x) = ‖x‖3, ∇ψ(x) = 3x‖x‖

Hψ(x) =3‖x‖

(

‖x‖2 I3×3+xxT)

where Hψ(0) := 03×3 to ensure its continuity.

14

Page 15: Shape & Tone Depiction for Implicit Surfaces€¦ · different pen & ink stippling and curvature-basedhatch-ing. Proenc¸a et al. [18, 19] also extended the approach presented by

Appendix B. Approximate Projection Operator

In order to compute an approximation to the pro-jection of a pointp ∈ R

3 onto the implicit surfaceS = f −1(0), we employ a simple gradient-based iter-ative method with backtracking. Our iteration is a spe-cialization of the method ofsteepest descent with suc-cessive stepsize reduction[38] applied to the problem

minx∈R3

12(

f (x))2.

This iterative method has two parametersδ ∈ (0, 1)andσ ∈ (0, 1

2) and is fully determined by the sequence

p0 = p, pk+1 = pk − δik f (pk)‖∇ f (pk)‖2

∇ f (pk)

whereik is the smallest nonnegative integer such that

(

f (pk+1))2≤(

f (pk))2[

1− 2σδik]

,

which defines the backtracking and specializes theArmijo Rule for successive stepsize reduction (with

1‖∇ f (pk)‖2 as a first approximation to the stepsize) [38].

In our experiments, we usedδ = 0.1 andσ = 10−2

and we say the projection finished successfully as soonas | f (pk)| < 10−6 and in failure when that condition isnot satisfied up to 16 iterations or‖∇ f (pk)‖ < 10−6, inwhich case we simply discard the point. It must be notedthat we haven’t experienced failure with the choice ofparameters above.

15