Computer-Aided Design & Applications, Vol. 2, Nos. 1-4, 2005, pp 85-94
degree raising, with ))(()(
ˆ
rtCrC = being of degree dk. It is interesting to note that another simple way of achieving a
degree raising effect is by multiplying a constant one of degree l. Namely, let p(t) = 1 be a (constant) polynomial of
degree l, e.g.,
l
tttp ])[()( +−= 1 . Then, D(t) = C(t) p(t) is a new curve of degree d + l, but with exactly the same shape
as the curve C(t). In this paper, we assume only allowable changes of parameters, t(r), in the functional compositions;
that is, t'(r) > 0 ,
∀
.
Reversing the composition operation on polynomials, or decomposition of polynomials, is a complex task; yet it is a
feasible operation as we demonstrate it in this paper. Symbolic processing software packages, such as Maple [3] or
Mathematica [10], support the composition functionality as a built-in procedure. They do not, however, support the
reverse operation of the composition. Given a composed function H(x), we seek to find its decomposition, if any, as
H(x) = f(g(x)). In other words, we find the original functions, f(x) and g(x), if they exist.
The fact that symbolic manipulation programs provide no such reverse capability is more surprising, as function
decomposition has great importance in general, and in geometric modeling, specifically. In fact, the first algorithm to
decompose H(x) into f(x) and g(x) was proposed by [5] more than 15 years ago, and it was improved thereafter by [2].
Degree raising and refinement were both previously suggested as weak watermarking techniques. It is interesting to
note that the composition operation has been proposed to be a highly robust way to watermark spline models [8].
However, a clear implication of this paper invalidates the proposal of [8] – we show that composition is insecure as a
watermarking method.
Another important need for identifying the similarity of two curves could be found in the way geometry is typically
represented in contemporary geometric modelers. A model is typically a collection of freeform (trimmed) surfaces that
are stitched together along shared seams. In many cases the two curves sharing the seam are identical geometrically
but are represented differently due to the way the surfaces containing these two curves were constructed. For example,
to construct a ruled surface between a quadratic and a cubic curve, the quadratic is artificially degree-raised to be a
cubic. Having two curves sharing a seam represented differently makes cross-seams processing difficult. For example,
in order to create a water-tight tessellation of the geometry, both surfaces, along this shared seam, must be sampled in
exactly the same way. Knowing that these two curves are indeed the same curve can greatly simplify this process.
The rest of this paper is organized as follows. In Section 2, we present our approach to the functional decomposition
problem, and outline the complete algorithm, exploiting the unique structure that allows one to avoid solving a non-
linear system of constraints. In Section 3, an algorithm is presented that brings all these functionalities into play in a
single identity testing algorithm. In Section 4, we demonstrate a few interesting applications and examples, and finally,
we conclude this paper in Section 5.
2. FUNCTIONAL DECOMPOSITION
Consider two polynomials f(x) and g(x). The resulting composition of (f
g)(x) = f(g(x)) is a higher degree polynomial.
The coefficients of (f
g)(x) can be represented as non-linear expressions of the coefficients of f(x) and g(x). In general,
finding a solution to a set of non-linear equations is difficult. In our case, these equations are well structured, and we
will employ this simple structure to efficiently deduce the decomposition, if it exists. Moreover, its unique structure is
exactly the same in projective space when f(x) is rational.
The key observation that makes the functional decomposition feasible can be summarized as follows: In the
composition of two polynomials f(x) and g(x), the lowest degree terms reveal the structure of f(x) and the highest
degree terms expose the structure of g(x). The result of the composition has many high degree terms. However, being
closely related to convolution, many of these terms assume a simple form at the two ends of this composition process.
In other words, the terms with the highest and lowest degrees are the simplest. In Section 2.1, we provide additional
corroboration of our claim that no generality is lost by employing the following canonical forms of f(x) and g(x), for a
general composition H(x) = f(g(x)),
.)(
,)(
xcxcxxg
bxbxbxxf
k
k
k
m
m
m
1
1
1
01
1
1
+++=
++++=
−
−
−
−
L
L
(1)
By exploiting this canonical form, we could greatly simplify the composition formulation and its structure analysis.
When the two functions in Eqn. (1) are composed, we end up with a polynomial of degree km:
.)( )()(
))(()(
01
1
11
1
1
1
111
1
1
01
1
1
bxcxcxbxcxcxbxcxcx
xgfaxaxaxxH
k
k
kmk
k
k
m
mk
k
k
km
km
km
+++++++++++++=
=++++=
−
−
−−
−−
−
−
−
−
LLLL
L
Examine the coefficients of the k terms of H(x) with the highest degrees. Each coefficient
ik
c
−
is expressible as a
function of
ikm
a
−
and
1+−ikk
cc ,,L
, for 11 −= ki ,,L , where
1=
k
c
. Once the coefficients of g(x) are computed in this