Available via license: CC BY 4.0

Content may be subject to copyright.

This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/.

This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI

10.1109/ACCESS.2020.2982457, IEEE Access

Date of publication xxxx 00, 0000, date of current version xxxx 00, 0000.

Digital Object Identiﬁer 10.1109/ACCESS.2017.DOI

Shape Manipulation of Diffusion Curves

Images

SHUFANG LU1, XUEFENG DING1, FEI GAO1, JIAZHOU CHEN1

1College of Computer Science and Technology, Zhejiang University of Technology

Corresponding author: Shufang Lu (e-mail: sﬂu@zjut.edu.cn).

This work was supported by Natural Science Foundation of Zhejiang Province (No. LY19F020027), the Key Research and Development

Program of Zhejiang Province (No. 2018C03055), and Natural Science Foundation of Zhejiang Province (No. LY18F020035).

ABSTRACT Diffusion curves image (DCI) is a kind of vector graphics with its geometric primitives

deﬁned by a set of Bézier curves. As one of the vector graphics, editability is an important property for

diffusion curves. However, most of the current DCI shape manipulation methods are typically limited to

single curve. It is tedious for users to edit the shape of DCI by deforming each curve individually, especially

with the increasing number of curves. In addition, the image contents cannot well preserved because there is

no constraints among curves. We present an efﬁcient and ﬂexible DCI manipulation method by combining

global and local deformations. The overall shape is easily changed by our global manipulation tool with a

few user interactions, while the local manipulation tool is used to modify details. These two tools can be

combined to obtain desired effects. In both cases, the constraints during deformation preserve the quality of

the editing results. Our experimental results demonstrate that the proposed method provides more convenient

control for DCI shape editing than existing techniques based on diffusion curves.

INDEX TERMS Shape Manipulation, Vector Graphics, Diffusion Curves Images

I. INTRODUCTION

Vector graphics provides a representation for describing im-

ages by geometric primitives such as points, lines and curves.

Compared with raster graphics which is deﬁned via a grid

of pixels, vector graphics is resolution-independent, more

compact, and easy for editing. Due to these advantages,

it is extensively used in graphical user interface, internet

applications, three-dimensional modeling and so on.

As one of popular vector graphics primitives, diffusion

curves [1] uses cubic Bézier curves and attached both side

color control points to create high-quality vector images. It

can be created from scratch by drawing tools or through

tracing existing images. The rendering of a set of diffusion

curves results in a diffusion curve image (DCI) with complex

color gradients.

Editability is an important property of vector graphics,

which is the reason why it remains popular among artists

and designers. However, existing work mainly focus on the

DCI creating process [2], [3], rendering acceleration [4],

[5] and image diffusion quality improvement [6], with weak

support for ﬂexible shape manipulation. As a DCI consists of

a sparse set of disconnected paths, most of current methods

are limited to curve-level editing. They just deform a curve

by moving its control points. Despite their capability of

modifying the local details of a DCI, they still have some

inevitable limitations. Obviously, it is a time-consuming pro-

cess because users have to edit each curve individually. Also,

without geometric constraints among curves, it may require

modiﬁcations to a large amount of individual curves in order

to obtain desired effects. Moreover, the semantic content

represented by a set of curves in a DCI may be destroyed

due to editing each curve separately and the editing effects

are hard to control or predict.

To address these problems, we present an efﬁcient shape

manipulation tool for DCI by combining both global and

local deformations. The global shape manipulation is treated

as space deformation operation through linear blending afﬁne

transformations. We triangulate the closed domain of the DCI

and adopt bounded biharmonic weights [7] as the weight

function. Then, the global shape is deformed by setting a

cage or a few single points as handles controlled by users.

With only moving or dragging a few handles, a new shape

of DCI can be easily generated followed by a curve reﬁtting

process. On the other hand, local details are modiﬁed by

editing individual curve. To minimize user interaction, we

use two simulation points to replace two curve control points

VOLUME 4, 2016 1

This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/.

This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI

10.1109/ACCESS.2020.2982457, IEEE Access

that are not located on the curve. In both global and local

deformation modes, we add constraints on the junctions

between connected curves, which makes the editing results

more reliable.

With our DCI shape manipulation method, the user can

ﬁrst edit the global shape roughly by global deformation and

then modify the details precisely with local shape deforma-

tion. Although it has been proposed to add diffusion curves

to SVG standards, there is still no standard representations

and rendering methods for diffusion curves. We employ the

original diffusion curves representation [1] and a GPU-based

rendering system [4] to make our method concise and ex-

tensible. The color diffusion result is automatically changed

with DCI shape editing because the color inforamtion of

diffusion curves is attached with its geometric structure.

Compared with previous diffusion curves image editing

methods, our method is more effective and ﬂexible in con-

trolling the shape of DCI. It signiﬁcantly reduces the user

interaction time, especially for the circumstances of creat-

ing different gestures of a same object(i.e. keyframes for

animation). Furthermore, several constraints are used on the

junctions between connected curves in both global and local

schemes to guarantee high-quality editing results. To the best

of our knowledge, ours is the ﬁrst DCI shape manipulation

technique combining both global and local deformation.

II. RELATED WORK

In this section, we focus on techniques targeting vector

graphics, vector graphics editing and shape deformation, the

topics that are most relevant to our work.

For a long time, vector graphics is deﬁned by the prim-

itives ﬁlled with solid color and cannot offer complex col-

or gradients compared with raster graphics. More recent-

ly, new powerful vector graphics representations have been

proposed. One of them is gradient mesh [8]–[10], which

employs triangular or quad mesh as geometric structure and

stores color values on the vertices of mesh. Smooth rendering

results are achieved by interpolated colors across the mesh.

Gradient mesh produces high-quality image, but is not natu-

ral for artists and designers because the relationship between

patches of mesh and speciﬁc image contents is unclear. As a

result, it is difﬁcult for us to manually create vector images

represented by gradient meshes and not convenient for subse-

quent editing. Another line of methods are based on diffusion

curves [1]. Diffusion curves employs cubic Bézier curves as

geometric primitives to describe the image boundaries, with

color constraints attached on both sides of each curve. By

solving a Poisson equation, the color control points on either

side of a curve diffuse over the entire image canvas smoothly .

It is intuitive for users because it supports traditional freehand

drawing techniques, and edges/curves are viewed as natural

primitives for encoding and editing images [11]. Subsequent

works on diffusion curves mainly focus on the rendering

acceleration [4], [5], [12], image quality improvement [3],

[13], [14], color diffusion control [15]–[19], new forms of

diffusion curves extension [6], [20], [21], and its application-

s [22], [23].

Easy for editing is one of the most important reasons

that vector graphics remains popular . Vector primitives are

widely used either in raster image editing and vector graphics

image itself. Raster image editing has natural advantages

in manipulating pixels but limits some operations such as

object-based editing. Based on the observation that edges and

contours are directly related to signiﬁcant visual events in

image content such as object boundaries, vector geometric

primitives are commonly applied for raster image editing op-

erations. Elder et al. [11] ﬁrst introduced a method for image

editing based on edges rather than pixels. Barrett et al. [24]

proposed a real-time object-based image editing technique

for manipulation and animation of static digital photographs.

In their method, Objects is tessellated into a triangular mesh,

allowing shape modiﬁcation to be performed by changing the

granularity of editing from the pixel to the object level. Fang

et al. [25] applied shape deformation in digital image editing

and proposed a detail preserving editing method via feature

curves.

The editability of vector graphics is very essential for

designers and artists who create visual content with user

interaction. Shape editing is convenient for gradient mesh

representation because it provides the connectivity for vector

image contents. Space deformation techniques can be easily

applied to mesh deformation. Liao et al. [9] proposed a

subdivision-based representation for vector images by com-

bining the triangular patches and curved boundaries. It per-

forms shape editing for vector images by using as-rigid-as-

possible method [26], but cannot guarantee the continuity be-

tween the adjacent curve segments. Different from gradient

mesh, diffusion curves representation consists of sparse sets

of disconnected curves to describe the geometry information.

Therefore, it is easy to edit each curve individually in DCI,

but hard to edit the semantic content which includes a large

number of curves. Despite several existing diffusion curves

methods spent some efforts in DCI editing, most of them

are still limited to curve-level editing. To facilitate content

creation for the artist, the pioneer diffusion curves method [1]

provides the user with several standard editing tools includ-

ing editing of single curve geometry and curve splitting. The

individual diffusion curve editing operations in [6], [13] are

intuitively be done by a click-and-drag metaphor. In their

methods, the Bézier curve control point that is the closest to

the clicked position is determined. Moreover, Pang et al. [5],

Boyé et al. [16] and Prévost et al. [27] used the triangle

mesh as a intermediate representation to assist the rendering

process. But as Boyé et al. mentioned in their work [16],

the triangle mesh updates lead to ﬂickering artifacts during

editing operations and is not suitable for real-time DCI edit-

ing. Sun et al. [12] presented a fast multipole representation

for diffusion curves and points as well as an interactive

editing tool of merging different DCIs together. Xie et al. [2]

developed a hierarchical diffusion curves representation to

make their results more editable, but it is limited to gen-

2VOLUME 4, 2016

This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/.

This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI

10.1109/ACCESS.2020.2982457, IEEE Access

erating visual abstraction rather than editing the shape of

DCI. Lu et al. [14] proposed a diffusion-curve-based image

vectorization framework for RGBD images. It supports the

editing of objects that are segmented by using both color and

depth information. In this paper, we provide a more ﬂexible

and efﬁcient DCI shape editing system in terms of global and

local aspects.

Shape deformation is extensively used on visual design,

animation and so on. Generalized barycentric coordinates,

which deﬁnes coordinate of points with respect to polytopes,

provides an efﬁcient way to compute smooth space deforma-

tion. There are many different constructions of barycentric

coordinates, and the well-known methods and their exten-

sions include Mean Value Coordinates [28]–[30], Harmon-

ic Coordinates [31]–[34], Green Coordinates [35], complex

barycentric coordinates [36], [37], and Biharmonic Coor-

dinates [7], [38]. The deformation equation is linear com-

bination of real or complex-valued coordinates with some

coefﬁcients. Another way to perform space deformation is

variational methods, which solve a variational problem by

ﬁnite element discretization over a mesh [26], [39], [40]

or by smooth basis functions [33], [36], [38]. In addition,

some methods which are based on quasi-conformal maps and

their applications have been developed recently [41]–[49].

With trade-off between computational consumption, visual

effect and interactivity, Biharmonic Coordinates is used in

our method.

III. PROPOSED METHOD

In this section, we will introduce the details of our DCI shape

manipulation method. Our method provides two modes to

manipulate the shape of DCI: global shape editing and local

shape editing. Fig. 1 shows an overview of our DCI shape

manipulation framework. In global shape editing mode, by

setting and moving a few handle points, the global shape of

DCI is controlled by the underlying linear space deformation

method. We adopt bounded biharmonic weights as the weight

functions and reﬁt diffusion curves after deformation. In local

shape editing mode, individual curve is deformed to modify

details of DCI. By adding two simulation points, the Bézier

curve control point that is the closest to the clicked position is

selected. Several constraints are performed during the global

and local deformation to produce high-quality results. Users

can combine these two editing modes to adjust the editing

result until achieving a desired shape.

A. GLOBAL SHAPE DEFORMATION

1) Linear Blending Deformation

The global shape editing is treated as the space deformation

operation and we employ the linear method by blending

afﬁne transformations at arbitrary handles. Compared with

some quadratic methods, such as as-rigid-as-possible shape

manipulation [26], linear methods are usually more efﬁcient

due to the simplicity. We denote each point of the given shape

by pand it is transformed to the new position p0by the

following weighted combinations:

p0=

m

X

i=1

ωi(p)Tip(1)

Given the handle points Hi(i= 1,2,3, , m),Tiis the afﬁne

transformation for each handle points Hiand ωi(p)is the

weight function associated with Hievaluated at point p. The

weights ωiis obtained as minimizers of the Laplacian energy

with constraints on the closed domain Ω:

argmin

ωi,i=1,2,3,...,m

m

X

i=1

1

2ZΩ

||∆ωi||2dV

Subject to:

ωi(Hk) = δi,k

ωi(F)is linear ∀F∈FG

m

X

i=1

ωi(p)=1 ∀p∈Ω

0≤ωi(p)≤1, i = 1, ..., m ∀p∈Ω

(2)

where the Hkis a handle point, and δi,k is Kronecker delta.

The FGdenotes the set of all boundary of cage.

We use the bounded biharmonic weights [7] as the weight

function because it is ﬂexible and supports handles of arbi-

trary topology. In our method, we use cage or single points

to control the global shape of DCI. Fig. 1 and Fig. 2 show

the process of global shape editing with these two kinds of

topology schemes respectively.

Minimizing the biharmonic energy amounts to solving the

Euler-largrange equations, which are the biharmonic PDEs

in this case: ∆2ωi= 0. In order to solve the constrained

varitional problem numerically with quadratic programming,

we discretize it using linear ﬁnite elements.

2) Space discretization

Bounded Biharmonic Weight functions require space dis-

cretization for weight computation. As diffusion curves is

an open structure, a domain enclosing all curves is required

to compute the weight function values. For the cage topol-

ogy, the cage itself is a closed structure(see Fig.1(b)). For

single points, the image boundary is treated as the closed

region(see Fig.2(c)). We use the triangulation technique [50]

to discretize the closed space and the weight value of each

vertex in the triangle mesh is obtained by solving Eq.( 2).

We can change the path of cubic Bézier curves direct-

ly or via moving its control points. For the two different

controlling ways, there are two different constraints during

triangulation process.

The ﬁrst one is to use the control points of Bézier curves as

additional constraint points, and these control points will be

the vertices of mesh after triangulation. Therefore, the path

of Bézier curves is changed by mapping their control points

to new positions. For each single curve, it is a directly way

since the path of Bézier curve is controlled by its control

points. However, it has some drawbacks for the global shape

deformation. Let C= [c1c2c3c4]represent the four

VOLUME 4, 2016 3

10.1109/ACCESS.2020.2982457, IEEE Access

FIGURE 1: An overview of our DCI shape manipulation method.

(a) (b) (c) (d) (e)

FIGURE 2: Global deformation result with single points. (a) is the input DCI, (b) shows blue handles points, (c) is the space

discretization result, (d) is the deformation result with blue arrows indicate the moving direction of handle points, and (e) is the

corresponding rendering result.

control points of a Bézier curve (see Fig. 4). c1and c4is

the start point and the end point of the curve and they are

located on the curve. But the other two control points c2

and c3are usually not located on the curve, even far away

from the curve. The bounded biharmonic weights is distance-

dependent, so for each handle point its inﬂuence decreases

with the increase of distance from it. As shown in Fig. 3, the

yellow curve is deﬁned by A= [A1A2A3A4], and the

green curve is deﬁned by B= [B1B2B3B4]. If we

use the control points as the triangulation constraints, the red

handle point Phas more effects on the yellow curve although

green curve is closer to P, because the control point A3of

the yellow path is closer to Pthan the control points of the

green curve. As a result, it may generate unpredictable and

undesirable results after deformation. As shown in Fig. 8(e),

the continuity is destroyed and local textures are not well

preserved after editing, which resulting in visible artifacts

indicated by the green arrow.

The second option is to use the sampling points on paths of

Bézier curves as additional constraints for triangulation. As

we observe that the following reﬁtting result is not smooth

with a small number of sampling points, in our experimen-

t, we sample 100 points of each curve as the additional

constraints during the triangulation process. Fig. 1(c) and

Fig. 2(c) show two area discretization results. In this way,

the handle points directly inﬂuence the path of Bézier curve

rather than the control points, and the problem shown in

Fig. 3 can be avoided. With the same editing by dragging

the same control point, the deformation result based on this

triangulation scheme is improved as shown in Fig. 8(h).

3) Curves Reﬁtting

For each individual curve, let S(p)represent the undeformed

shape with each sampling point p. With the arrows in

Fig. 1(d) and Fig. 2(d) indicate the moving directions of the

handles, all sampling points, that is the discrete representa-

tion of the curves are mapped to new positions. The deformed

4VOLUME 4, 2016

10.1109/ACCESS.2020.2982457, IEEE Access

FIGURE 3: Illustration of using control points as triangula-

tion constraints.

shape is:

S(p0) =

m

X

i=1

ωi(S(p)TiS(p)(3)

Then we need to ﬁnd a cubic Bézier curve that is the closest

to the deformed polygonal path through reﬁtting process.

The deformed shape will usually not be represented by

Bézier curve exactly. For each individual curve, let S(c)

represent the undeformed shape with each control point cof

Bézier curve. Therefore, our goal is to ﬁnd the closest shape

S(c0)whose path best ﬁt the deformed shape. This problem

is treated as the energy optimization to obtain the unknown

control points c0as follows:

E(S) = ||S(c0)−S(p0)||2.(4)

E(S)is the integrated distance between the ﬁtting shape

S(c0)and deformed shape S(p0).

In order to preserve the local details of DCI, it is very im-

portant to keep the smoothness at the junctions between con-

nected curves. We employ C0and C1continuity constraints

as the linear constraints in the energy minimization process.

Let D= [d1d2d3d4]represent the curve which shares

an endpoint with curve C, and c4=d1. For deformed curves

C0= [c0

1c0

2c0

3c0

4]and D0= [d0

1d0

2d0

3d0

4], we

set c0

4=d0

1and c0

4−c0

3=d0

2−c0

1as the linear constraints

to enforce C0continuity and C1continuity, respectively. On

the overall domain, in order to solve for all cubic Bézier

curves simultaneously, we weight the energy for each curve.

Therefore, the complete reﬁtting energy minimization prob-

lem with all constraints is as follows:

argmin

S

n

X

j=1

ηjE(Sj)

Subject to: c0

4=d0

1

c0

4−c0

3=d0

2−c0

1

(5)

where nis the number of curves in the DCI, Sjis the shape

of j-th curve, and ηjis the length of Sj.

We adopt the numerical solver proposed by Liu et al. [51]

to solve Eq.(5), in which the linear equality constraints are

enforced via the Lagrange multiplier method. The different

FIGURE 4: Illustration of our local shape editing method.

(a) (b)

FIGURE 5: Comparison of local editing without and with

angle preservation.

part is that we do not use the tangent magnitude ratios and

angle preservation constraints for live manipulation, as we

ﬁnd that these constraints have a small and limited nega-

tive effect on reﬁtting result but are time-consuming. Also,

the negative effect can be further remedied by our local

shape editing method (see Section III-B). Fig. 1(d) and 2(d)

show the curve reﬁtting results after global deformation, and

Fig. 1(e) and 2(e) are the corresponding rendering results

with deformed diffusion curves. After the reﬁtting step, the

deformed paths are represented by Bézier curves rather than

discrete points.

B. LOCAL SHAPE EDITING

The overall shape of a DCI can be easily changed by the

global shape editing mode, as shown in Fig. 1 and 2. But

it is hard to perform more precise editing operations, such as

modifying local details. To make the shape editing tool more

powerful, our method also supports a local shape editing tool.

Since the individual curve is independent from each other,

it is intuitive to change its path by moving the control points.

However, it is difﬁcult for users to accurately select the con-

trol points especially where the area is densely covered by a

large number of curves. Instead of moving the control points

directly, we use two simulation points s1and s2to implicitly

represent the two control points c2and c3that usually are not

VOLUME 4, 2016 5

10.1109/ACCESS.2020.2982457, IEEE Access

located on the curve as shown in Fig. 4. s1and s2are located

on the 1/3and 2/3of the curve, respectively. When the user

clicks on the DCI (i.e. the red point in Fig. 4), the simulation

point s1that is closest to the clicking position is selected

automatically. Then the displacement vector from clicking

position to the new position is added to the corresponding

control point c2. Therefore, the curve that is closest to the

clicking position is automatically chosen for deformation.

Similar to global shape editing, we also set constraints

at the junctions between connected individual curves. For

connected Bézier curves C= [c1c2c3c4]and D=

[d1d2d3d4]with c4=d1, the local shape editing tool

enforces C0continuity as global deformation described in

Section III-A3. In addition, we preserve the angle at junctions

as well. Speciﬁcally, as dragging is a translation operation

on the selected point, we apply same displacement vector

to the control points c3and d2when dragging the junction

point c4(d1) to the new position c0

4(d0

1). The angle constraint

is expressed as follows:

c0

3=c3+ (c0

4−c4)

d0

2=d2+ (c0

4−c4)(6)

With junction point A0, Fig. 5(a) is the result without

angle preserving . When dragging point A0to B0while other

control points are ﬁxed, the shape at the junction B0has great

change which is not desired. Fig. 5(b) shows the improved

deformation result by preserving the angle at junction A0

during dragging. The smoothness at junction B0is kept and

local details are preserved better. Fig. 1(f) shows the local

shape editing result by modifying the red highlighted curve.

One more local editing result is shown in Fig. 6, in which the

shapes of the front two legs of the chair are edited.

IV. RESULTS AND DISCUSSIONS

More DCI global shape editing results are shown in Fig. 7.

Cage is used as handles to deform the vector images of

Lotus, Butterﬂy, Leaf and Cup, while single points are used

as handles to control the images of Dolphin, Armchair, Frog

and Panda. By moving the handle points, our editing tool

easily modiﬁes the global shape of DCI with a few user

interactions. On the other hand, images details can be further

modiﬁed by the provided local editing method. Users can

alternately perform the two editing operations to achieve

desired editing results. Compared to other DCI editing tools,

which only offer single curve editing function, our DCI shape

editing method is more efﬁcient and convenient by signiﬁ-

cantly reducing the user interactions. Furthermore, with the

constraints in both global and local editing modes, image

features and details are better preserved after deformation.

Our editing system is implemented on a 3.3 GHz Intel

Dual Core i5 CPU and an NVIDIA GTX960 GPU. The

user interface is implemented on browser with JavaScript

and diffusion curves rendering is performed on GPU by em-

ploying WebGL. The geometry processing library libigl [52]

is used to compute bounded biharmonic weights. The cubic

(a) (b)

(c) (d)

FIGURE 6: The local editing result. (a) is the input, (b) is

the local shape editing result with modifying highlighted red

curves, (c) and (d )are the rendering results before and after

performing local shape editing.

Bézier curves reﬁtting is implemented in Python with Numpy

package.

The statistics and performance of the global shape edit-

ing results in this paper are shown in Table 1. The space

discretization and bounded biharmonic weights calculation

are performed in the precomputation step, and it takes more

precomputation time with the increasing number of handles

and curves. Fortunately, it is just performed once and do not

affect the efﬁciency of live deformation. In the experiments,

we notice that the live shape manipulation is smooth when

the number of curves is not large, probably less than 300.

As shown in Table 1, after moving handles, the update of

calculating new positions of all sample points on curves and

reﬁtting them back to diffusion curves representation is very

fast. The FPS is the average frame number per second when

continually performing the shape editing manipulation. Due

to the modiﬁcation of geometric information, the rendering

system need to resample the points on curves and send these

data to GPU solver to compute every pixel of DCI again.

When frequently performing shape editing interaction on a

large number of diffusion curves, the frame rate will drop

down due to the rendering computation cost. As a result, the

DCI rendering is the most time-consuming part, which is the

bottleneck of our method.

Fig. 8 compares global deformation results with differ-

ent triangulation constraints during the process of area dis-

cretization as mentioned in Section III-A2. Given an input of

6VOLUME 4, 2016

10.1109/ACCESS.2020.2982457, IEEE Access

FIGURE 7: A variety of global shape editing results. For each example, left is the DCI before editing and right is the editing

result after global deformation. The blue arrows indicate the moving directions of handle points.

TABLE 1: Statistics and performance of the global shape editing results shown in this paper. #Paths is the number of path

that consists of a series of end-to-end diffusion curves, #Curves is the number of diffusion curves, #Handles is the number of

handle points, Precomputation/h(s) is the bind time per handle in seconds.Updating(s) is the time including calculating the new

positions of all the sample points and reﬁtting them back to diffusion curves representation.

Dataset #Paths #Curves #Handles Precomputation/h(s) Updating(s) Rendering(FPS)

Poivron 38 109 8 1.66 3e-3 60

Lotus 22 113 40 1.64 1.6e-2 52

Butterﬂy 89 176 23 1.65 1.7e-2 55

Leaf 39 197 13 3.01 5e-3 49

Cup 99 132 18 1.72 1.9e-2 58

Dolphin 39 171 5 3.61 2.5e-3 53

Armchair 48 117 2 4.51 1.9e-3 60

Frog 32 79 2 3.63 1.2e-4 60

Panda 34 310 8 3.07 3.3e-3 33

VOLUME 4, 2016 7

10.1109/ACCESS.2020.2982457, IEEE Access

(a) (b) (c)

(d) (e) (f)

(g) (h) (i)

FIGURE 8: The global deformation results comparison between two area discretization schemes. The ﬁrst row is the initial

state, the second row is the deformation result by using control points as triangulation constraints, and the third row is the result

by using sampling points of curves as triangulation constraints. Each row from left to right: a DCI, a close-up of the highlighted

box region, and corresponding geometrical curves.

a DCI with its cage shown in Fig. 8(a), Fig. 8(b-c) are the

zooming-in result of highlighted red box and its diffusion

curves. Same deformation indicated by the blue arrow is

applied on both triangulation results, and the output are

shown in Fig. 8(d) and Fig. 8(g), followed by a close-up of the

highlighted boxes and corresponding diffusion curves. When

using the control points as the triangulation constraints, the

spatial distance between handle points and control points

is not consistent with the distance between handle points

and curve paths, which resulting in visible artifacts indicated

by green arrows in Fig. 8(e) Instead, we directly sample

points on curves and use them as additional constraints for

triangulation with the improved results shown in Fig. 8(h).

V. CONCLUSIONS

In this paper, we have presented a shape editing system for

diffusion curves images. The proposed shape editing method

is efﬁcient and convenient by providing both global and local

editing modes. A new shape can be easily created by only a

few user interactions, and the local details are well preserved

8VOLUME 4, 2016

10.1109/ACCESS.2020.2982457, IEEE Access

by setting constraints on the junctions between connected

curves. Moreover, the deformed result is always represented

by the data structure of diffusion curves, so it is easy to

integrate our editing tool into other DCI editing and rendering

systems.

In the future, there are still some aspects that could be

improved. First, real-time user feedback is essential for live

shape manipulation. With the increasing number of handles

and curves, the frame rate drops down as the DCI rendering

and bounded biharmonic weights calculation take most of

the time. We will develop a fast DCI shape editing system

by accelerating rendering process while reducing weights

computation time. Secondly, our tool is applied on the single-

layer DCI, and all the curves in the region will be deformed

and reﬁtted during global deformation. If there are unclear

boundaries between the object we want to edit and the

background, to select the region of interest is a difﬁcult task.

Thus, multi-layer representation of DCI can be developed to

avoid this problem.

REFERENCES

[1] A. Orzan, A. Bousseau, H. Winnemöller, P. Barla, J. Thollot, and

D. Salesin, “Diffusion curves: a vector representation for smooth-shaded

images,” ACM Transactions on Graphics (TOG), vol. 27, no. 3, p. 92,

2008.

[2] G. Xie, X. Sun, X. Tong, and D. Nowrouzezahrai, “Hierarchical diffusion

curves for accurate automatic image vectorization,” ACM Transactions on

Graphics (TOG), vol. 33, no. 6, p. 230, 2014.

[3] S. Zhao, F. Durand, and C. Zheng, “Inverse diffusion curves using shape

optimization,” IEEE transactions on visualization and computer graphics,

vol. 24, no. 7, pp. 2153–2166, 2017.

[4] S. Jeschke, D. Cline, and P. Wonka, “A gpu laplacian solver for diffusion

curves and poisson image editing,” ACM Transactions on Graphics (TOG),

vol. 28, no. 5, p. 116, 2009.

[5] W.-M. Pang, J. Qin, M. Cohen, P.-A. Heng, and K.-S. Choi, “Fast ren-

dering of diffusion curves with triangles,” IEEE Computer Graphics and

Applications, vol. 32, no. 4, pp. 68–78, 2011.

[6] S. Jeschke, “Generalized diffusion curves: An improved vector representa-

tion for smooth-shaded images,” Computer Graphics Forum, vol. 35, no. 2,

pp. 71–79, 2016.

[7] A. Jacobson, I. Baran, J. Popovic, and O. Sorkine, “Bounded biharmonic

weights for real-time deformation.” ACM Trans. Graph., vol. 30, no. 4,

p. 78, 2011.

[8] Y.-K. Lai, S.-M. Hu, and R. R. Martin, “Automatic and topology-

preserving gradient mesh generation for image vectorization,” ACM

Transactions on Graphics (TOG), vol. 28, no. 3, p. 85, 2009.

[9] Z. Liao, H. Hoppe, D. Forsyth, and Y. Yu, “A subdivision-based represen-

tation for vector image editing,” IEEE transactions on visualization and

computer graphics, vol. 18, no. 11, pp. 1858–1867, 2012.

[10] J. Sun, L. Liang, F. Wen, and H.-Y. Shum, “Image vectorization using op-

timized gradient meshes,” ACM Transactions on Graphics (TOG), vol. 26,

no. 3, p. 11, 2007.

[11] J. H. Elder and R. M. Goldberg, “Image editing in the contour domain,”

in Proceedings. 1998 IEEE Computer Society Conference on Computer

Vision and Pattern Recognition (Cat. No. 98CB36231). IEEE, 1998, pp.

374–381.

[12] T. Sun, P. Thamjaroenporn, and C. Zheng, “Fast multipole representation

of diffusion curves and points.” ACM Trans. Graph., vol. 33, no. 4, pp.

53–1, 2014.

[13] S. Jeschke, D. Cline, and P. Wonka, “Estimating color and texture param-

eters for vector graphics,” Computer Graphics Forum, vol. 30, no. 2, pp.

523–532, 2011.

[14] S. Lu, W. Jiang, X. Ding, C. S. Kaplan, X. Jin, F. Gao, and J. Chen, “Depth-

aware image vectorization and editing,” The Visual Computer, vol. 35, no.

6-8, pp. 1027–1039, 2019.

[15] H. Bezerra, E. Eisemann, D. DeCarlo, and J. Thollot, “Diffusion con-

straints for vector graphics,” in Proceedings of the 8th International Sym-

posium on Non-Photorealistic Animation and Rendering, 2010, pp. 35–42.

[16] S. Boyé, P. Barla, and G. Guennebaud, “A vectorial solver for free-form

vector gradients,” ACM Transactions on Graphics (TOG), vol. 31, no. 6,

p. 173, 2012.

[17] M. Finch, J. Snyder, and H. Hoppe, “Freeform vector graphics with

controlled thin-plate splines,” ACM Transactions on Graphics (TOG),

vol. 30, no. 6, p. 166, 2011.

[18] P. Ilbery, L. Kendall, C. Concolato, and M. McCosker, “Biharmonic

diffusion curve images from boundary elements,” ACM Transactions on

Graphics (TOG), vol. 32, no. 6, p. 219, 2013.

[19] H. Lieng, F. Tasse, J. Kosinka, and N. A. Dodgson, “Shading curves:

Vector-based drawing with explicit gradient control,” Computer Graphics

Forum, vol. 34, no. 6, pp. 228–239, 2015.

[20] F. Hou, Q. Sun, Z. Fang, Y.-J. Liu, S.-M. Hu, A. Hao, H. Qin, and Y. He,

“Poisson vector graphics (pvg),” IEEE transactions on visualization and

computer graphics, 2018.

[21] Y. Li, X. Zhai, F. Hou, Y. Liu, A. Hao, and H. Qin, “Vectorized painting

with temporal diffusion curves,” IEEE transactions on visualization and

computer graphics, 2019.

[22] S. Jeschke, D. Cline, and P. Wonka, “Rendering surface details with

diffusion curves,” ACM Transactions on Graphics (TOG), vol. 28, no. 5,

p. 117, 2009.

[23] K. Takayama, O. Sorkine, A. Nealen, and T. Igarashi, “Volumetric mod-

eling with diffusion surfaces,” ACM Transactions on Graphics (TOG),

vol. 29, no. 6, p. 180, 2010.

[24] W. A. Barrett and A. S. Cheney, “Object-based image editing,” ACM

Transactions on Graphics (TOG), vol. 21, no. 3, pp. 777–784, 2002.

[25] H. Fang and J. C. Hart, “Detail preserving shape deformation in image

editing,” ACM Transactions on Graphics (TOG), vol. 26, no. 3, p. 12, 2007.

[26] T. Igarashi, T. Moscovich, and J. F. Hughes, “As-rigid-as-possible shape

manipulation,” ACM transactions on Graphics (TOG), vol. 24, no. 3, pp.

1134–1141, 2005.

[27] R. Prévost, W. Jarosz, and O. Sorkine-Hornung, “A vectorial framework

for ray traced diffusion curves,” Computer Graphics Forum, vol. 34, no. 1,

pp. 253–264, 2015.

[28] M. S. Floater, “Mean value coordinates,” Computer aided geometric

design, vol. 20, no. 1, pp. 19–27, 2003.

[29] K. Hormann and M. S. Floater, “Mean value coordinates for arbitrary

planar polygons,” ACM Transactions on Graphics (TOG), vol. 25, no. 4,

pp. 1424–1441, 2006.

[30] Y. Lipman, J. Kopf, D. Cohen-Or, and D. Levin, “Gpu-assisted positive

mean value coordinates for mesh deformations,” in Symposium on geom-

etry processing, 2007.

[31] P. Joshi, M. Meyer, T. DeRose, B. Green, and T. Sanocki, “Harmonic

coordinates for character articulation,” ACM Transactions on Graphics

(TOG), vol. 26, no. 3, p. 71, 2007.

[32] R. M. Rustamov, “Boundary element formulation of harmonic coordi-

nates,” Citeseer, Tech. Rep., 2008.

[33] M. Ben-Chen, O. Weber, and C. Gotsman, “Variational harmonic maps for

space deformation,” ACM Transactions on Graphics (TOG), vol. 28, no. 3,

pp. 1–11, 2009.

[34] O. Weber and C. Gotsman, “Controllable conformal maps for shape

deformation and interpolation,” in ACM SIGGRAPH 2010 papers, 2010,

pp. 1–11.

[35] Y. Lipman, D. Levin, and D. Cohen-Or, “Green coordinates,” ACM

Transactions on Graphics (TOG), vol. 27, no. 3, pp. 1–10, 2008.

[36] O. Weber, M. Ben-Chen, C. Gotsman et al., “Complex barycentric co-

ordinates with applications to planar shape deformation,” in Computer

Graphics Forum, vol. 28, no. 2, 2009, p. 587.

[37] O. Weber, M. Ben-Chen, C. Gotsman, and K. Hormann, “A complex view

of barycentric mappings,” in Computer Graphics Forum, vol. 30, no. 5.

Wiley Online Library, 2011, pp. 1533–1542.

[38] O. Weber, R. Poranne, and C. Gotsman, “Biharmonic coordinates,” in

Computer Graphics Forum, vol. 31, no. 8. Wiley Online Library, 2012,

pp. 2409–2422.

[39] O. Sorkine and M. Alexa, “As-rigid-as-possible surface modeling,” in

Symposium on Geometry processing, vol. 4, 2007, pp. 109–116.

[40] L. Liu, L. Zhang, Y. Xu, C. Gotsman, and S. J. Gortler, “A local/global ap-

proach to mesh parameterization,” in Computer Graphics Forum, vol. 27,

no. 5. Wiley Online Library, 2008, pp. 1495–1504.

VOLUME 4, 2016 9

10.1109/ACCESS.2020.2982457, IEEE Access

[41] O. Weber, A. Myles, and D. Zorin, “Computing extremal quasiconformal

maps,” in Computer Graphics Forum, vol. 31, no. 5. Wiley Online

Library, 2012, pp. 1679–1689.

[42] Y. Lipman, “Bounded distortion mapping spaces for triangular meshes,”

ACM Transactions on Graphics (TOG), vol. 31, no. 4, pp. 1–13, 2012.

[43] L. M. Lui, W. Zeng, S.-T. Yau, and X. Gu, “Shape analysis of planar

multiply-connected objects using conformal welding,” IEEE transactions

on pattern analysis and machine intelligence, vol. 36, no. 7, pp. 1384–

1401, 2013.

[44] O. Weber and D. Zorin, “Locally injective parametrization with arbitrary

ﬁxed boundaries,” ACM Transactions on Graphics (TOG), vol. 33, no. 4,

pp. 1–12, 2014.

[45] L. M. Lui, K. C. Lam, S.-T. Yau, and X. Gu, “Teichmuller mapping (t-map)

and its applications to landmark matching registration,” SIAM Journal on

Imaging Sciences, vol. 7, no. 1, pp. 391–426, 2014.

[46] K. C. Lam and L. M. Lui, “Landmark-and intensity-based registration with

large deformations via quasi-conformal maps,” SIAM Journal on Imaging

Sciences, vol. 7, no. 4, pp. 2364–2392, 2014.

[47] L. M. Lui and T. C. Ng, “A splitting method for diffeomorphism optimiza-

tion problem using beltrami coefﬁcients,” Journal of Scientiﬁc Computing,

vol. 63, no. 2, pp. 573–611, 2015.

[48] R. Chen and O. Weber, “Bounded distortion harmonic mappings in the

plane,” ACM Transactions on Graphics (TOG), vol. 34, no. 4, pp. 1–12,

2015.

[49] E. Chien, R. Chen, and O. Weber, “Bounded distortion harmonic shape

interpolation,” ACM Transactions on Graphics (TOG), vol. 35, no. 4, pp.

1–15, 2016.

[50] J. R. Shewchuk, “Triangle: Engineering a 2d quality mesh generator and

delaunay triangulator,” in Workshop on Applied Computational Geometry.

Springer, 1996, pp. 203–222.

[51] S. Liu, A. Jacobson, and Y. Gingold, “Skinning cubic bézier splines

and catmull-clark subdivision surfaces,” ACM Transactions on Graphics

(TOG), vol. 33, no. 6, p. 190, 2014.

[52] A. Jacobson, D. Panozzo, C. Schüller, O. Diamanti, Q. Zhou, N. Pietroni

et al., “libigl: A simple c++ geometry processing library, 2016,” 2016.

SHUFANG LU is an associate professor at Col-

lege of Computer Science and Technology, Zhe-

jiang University of Technology. She received her

BSc degree in software engineering from Wuhan

University, and MSc and PhD degrees in computer

science and technology from Zhejiang University.

Her research interests include computer graphics

and computer vision.

XUEFENG DING is a postgraduate student of the

College of Computer Science & Technology, Zhe-

jiang University of Technology. He received his

BSc degree in software engineering from Zhejiang

University of Technology. His research interests

include computer graphics and computer vision.

FEI GAO is a professor at the College of Comput-

er Science and Technology at Zhejiang University

of Technology. He received his PhD degree in

mechanical engineering from Zhejiang Universi-

ty in 2004. His research interests include image

processing, computer vision, and computer-aided

design.

JIAZHOU CHEN is an associate professor in

Zhejiang University of Technology. He received

his double Ph.D. degrees in INRIA Bordeaux

Sud-Ouest, France, and the State Key Laboratory

of CAD and CG at Zhejiang University, China,

in 2012. His research interests include computer

graphics and visual media computing.

10 VOLUME 4, 2016