Content uploaded by Miklós Hoffmann

Author content

All content in this area was uploaded by Miklós Hoffmann on Nov 07, 2020

Content may be subject to copyright.

Iso-optics of B´ezier curves

Roland Kunkli a, Ildik´o Papp a, Mikl´os Hoﬀmann b,∗,

aDept. of Computer Graphics and Image Processing, University of Debrecen,

H-4010 Debrecen, Hungary

bInstitute of Mathematics and Computer Science, K´aroly Eszterh´azy University,

H-3300 Eger, Hungary

Abstract

Given a planar curve s(t), the locus of those points from which the curve can be

seen under a ﬁxed angle is called iso-optic curve of s(t).

Iso-optics are well-known and widely studied, especially for some classical curves

such as e.g. conics (Loria (1911)). They can theoretically be computed for a large

class of parametric curves by the help of their support functions or by direct compu-

tation based on the deﬁnition, but unfortunately these computations are extremely

complicated even for simple curves.

Our purpose is to describe the iso-optics of those curves which are still frequently

used in geometric modeling - the B´ezier curves. It turns out that for low degree

B´ezier curves the direct computation is possible, but already for degree 4 or 5 the

formulas are getting too complicated even for computer algebra systems. Thus we

provide a new way to solve the problem, proving some geometric relations of the

curve and their iso-optics, and computing the iso-optics as the envelope of envelopes

of families of iso-optic circles over the chords of the curve.

Key words: iso-optics, B´ezier curves, envelope

1 Introduction

For any planar convex curve s(t), one can collect those points from which

the curve can be seen under a ﬁxed angle α, that is those points in which the

angle of the two tangent lines of s(t) is α. The locus of these points is called

α-iso-optic curve of s(t).

∗Corresponding author.

Email address: hoﬁ@ektf.hu (Mikl´os Hoﬀmann).

Preprint submitted to Elsevier Preprint 29 November 2011

Iso-optic curve of a given curve has been studied since centuries, although

the ﬁrst appearance of the word can be found in Taylor (1884). There are well-

known results for classical curves, especially for conics, e.g. for the parabola,

the iso-optic curve of which is a hyperbola in general and its directrix in the

special case of α=π/2, when it is called orthoptic curve (Loria (1911),

Lawrence (1972)). For a recent overview of these classical results see e.g.

Odehnal (2010), Glaeser and Schr¨ocker (2010). A more theoretical approach

can be found in Czie´slak (1991), where the iso-optic curve of a certain class

of convex curves is described by the help of its support function. Further

properties of this general description and iso-optic curves of special classes

of curves have been studied in Czie´slak (1991), Miernowski and Mozgawa

(2001), Szalkowski (2005).

Iso-optic curves are widely used in various problems of mechanisms (e.g.

Wunderlich (1971), Wunderlich (1971b)) and other ﬁelds. On the other hand

there are standard types of curves which have been used in computer aided

geometric design world-wide. These curves are typically spline curves, like B-

spline or NURBS curves, but B´ezier curve is still in use in several softwares

due to its simple form and ﬂexible modiﬁcation possibilities. The purpose of

this paper is to describe the iso-optic curve of B´ezier curves. In Section 2 we

show the direct computation by tangent lines and its limitations. In Section

3 we prove some statements about envelopes related to the B´ezier curve and

its iso-optic circular arcs, while in Section 4 we compute the iso-optic curves

applying these results. Although some of the results remain valid for arbitrary

curves, throughout the paper B´ezier curves are supposed to be convex ones.

2 Iso-optics of a quadratic B´ezier curve

Our ﬁrst aim is to describe the direct computation algorithm and compute

the iso-optic curves of a quadratic B´ezier curve. By direct computation we

mean the calculation of the intersection points of those tangent lines of the

curve, which meet at the given angle α. The deﬁnition of the curve is

s(t) =

2

X

k=0

Bi(t)pi

where Bi(t) are the Bernstein polynomials, piare control points of the curve.

It is a well-known fact that this curve is a parabolic arc (Piegl and Tiller

(1995)), hence, due to the above mentioned classical results on iso-optic curves,

its iso-optics must be hyperbolic arcs. Now for the sake of simplicity of direct

computation, suppose that the control points of the quadratic B´ezier curve

are given as p0(1,0),p1(x, y),p2(−1,0). A B´ezier curve with diﬀerent control

points can be transformed by an aﬃne transformation to this curve. This way

2

the B´ezier curve s(t)(sx(t), sy(t)) can be written in a simple form

sx(t)=1−2t+ 2t(1 −t)sy(t) = 2t(1 −t)y.

Computing the derivatives and the tangent lines of the curve, it is quite easy

to ﬁnd the other tangent line forming a given angle α. After some computation

one can write the α-iso-optic curve sα(t)(sα

x(t), sα

y(t)) as

sα

x(t) = 1

2

4yt(t−1)(xcos α−ysin α) + sin α(x2−y2+ 1)

xsin α−ycos α+ sin α(2t−1)(x2+y2)+

+1

2

(2t−1)(xsin α(x2+y2+ 1) + 2ycos α)

xsin α−ycos α+ sin α(2t−1)(x2+y2)

sα

y(t) = 1

2

4yt(xsin α+ycos α)(t−1)

xsin α−ycos α+ sin α(2t−1)(x2+y2)+

+1

2

y(sin α(x2+y2)(2t−1) + sin α(2t+ 2x−1))

xsin α−ycos α+ sin α(2t−1)(x2+y2).

where the domain of deﬁnition of these iso-optic curves is t∈[0, tα], with

tα=1

2

2ycos α+ sin α(x2+y2+ 1)

xsin α+ycos α+ sin α(x2+y2).

Some iso-optics (hyperbolic arcs) can be seen in Figure 1.

Fig. 1. α-iso-optic curves of the quadratic B´ezier curve for α=3π

4,2π

3,π

2,π

3

It is easy to prove that the real axes of these iso-optic hyperbolic arcs

correspond to the axis of the parabolic B´ezier arc, as it can be observed in

Figure 2.

3

Fig. 2. Axes of the α-iso-optic hyperbolas correspond to the axis of the quadratic

B´ezier parabola

As we have seen here, even in this simplest case the result of the direct com-

putation is fairly complicated. For higher order B´ezier curves the complexity

is escalated - for cubic B´ezier curves computer algebra systems can compute

the iso-optics, but it takes several seconds and the result is extremely compli-

cated. For higher order curves the direct computation is halted in an average

PC.

3 Geometric results on envelopes

It is well-known from elementary geometry, that given a line segment ab

the locus of those points pfor which ∠(apb) is equal to a given angle consists

of two circular arcs. Practically it is the iso-optic curve of the line segment.

Now if an angle α, a convex B´ezier curve s(t) of any degree and one of

its points s(t0) are given, considering the chords s(t0)s(t) starting from this

point and the α-iso-optic circular arcs associated to these chords, we obtain

a one-parameter family of circular arcs. Since the B´ezier curve is supposed to

be convex, only the outer circular arcs are considered now (see Fig. 4).

One of these arcs evidently contains a point of the α-iso-optic curve of

the B´ezier curve as well: the tangent line of the curve at s(t0) and one of

the tangents at points s(t) meet at the given angle α, thus the circular arc

associated to this chord will contain the intersection point of these tangent

lines. Here we can prove that at this point the circular arc and the iso-optic

4

curve have a common tangent line as well, while all the other circular arcs

have no point in common to the iso-optic curve.

Theorem 1 Consider an angle α, a convex B´ezier-curve s(t)of any degree

and one of its points s(t0). Then the α-iso-optic circular arcs associated to

the chords s(t0)s(t)of the curve have either no common point to the α-iso-

optic curve of the B´ezier-curve, or have exactly one common point where the

tangents are also of the same direction.

Proof : At ﬁrst let us consider the case when the chord s(t0)s(t1) is such that

the tangent lines of the curve at the endpoints meet at an angle diﬀerent

from α. Suppose indirectly that the iso-optic circular arc of this chord has a

common point pto the iso-optic curve of the B´ezier curve. Then the angle

∠(s(t0)ps(t1)) = αbut the lines ps(t0) and ps(t1) are not tangents of the

B´ezier curve, they intersect the curve. Due to the convexity of the curve tan-

gents from point pto the B´ezier curve should meet at an angle greater than

α, which contradicts to the fact that pis the point of the α-iso-optic curve.

Thus the iso-optic curve and the circular arc have no point in common.

Now consider the case when the chord s(t0)s(t1) is such that the tangent

lines of the curve at the endpoints meet at an angle α. It follows immediately

that the intersection point pof these tangent lines is on the α-iso-optic curve

of the B´ezier curve as well, that is the circular arc and the α-iso-optic curve has

one point in common. Suppose that there is another common point diﬀerent

from p, say q. Since qis the point of the α-iso-optic curve, tangents from

this point to the B´ezier curve meet at an angle α. Also qis point of the

α-iso-optic circular arc over s(t0)s(t1), thus qs(t0) and qs(t1) must meet at

an angle α. These latter lines are not tangents of the curve, but intersect it

and thus cannot meet at the same angle as the tangent lines drawing from

the same point q. This is a contradiction (c.f. Fig. 3). Hence the α-iso-optic

circular arc and the α-iso-optic curve have exactly one point in common and

evidently (due to the properties of the circle) the tangents of these curves are

also common in this point.

The proof also yields that there is exactly one circular arc for each chord

which has a common point and tangent line to the α-iso-optic curve. This

one-parameter family of circular arcs has an envelope, for which the following

statement holds.

Theorem 2 The envelope of the family of α-circular arcs associated to the

chords s(t0)s(t)of the B´ezier curve has exactly one common point to the α-iso-

optic curve of the B´ezier curve, in which the tangent lines are also common

(Fig. 4).

Proof : As we have seen, exactly one member of the family of circular arcs

5

Fig. 3. The α-iso-optic circular arc cannot have two intersection points with the

α-iso-optic curve: from point qthe tangent lines as well as line qs(t0) and qs(t1)

should meet at an angle α

Fig. 4. The envelope of the family of α-circular arcs (thick blue) associated to the

chords of the B´ezier curve has exactly one common point to the α-iso-optic curve

(red) of the B´ezier curve, in which the tangent lines are also common

has a common point and tangent line to the α-iso-optic curve. Due to the

convexity of the B´ezier curve all the other members of the family are at one

side of the iso-optic curve, thus these arcs cannot intersect the iso-optic curve.

But if the circular arcs are in one side of the iso-optic curve, the envelope of

this family must be at the same side of the iso-optic curve as well, they cannot

meet in more than one point. As the envelope is always between the family

of circles and the iso-optic curve, at the touching point of the only member

of the family which reaches the iso-optic curve, the envelope must also touch

this curve.

Corollary 3 Since each point s(t0)of the B´ezier curve generates a family of

circular arcs and their envelope, the iso-optic curve of the B´ezier curve can be

obtained as the envelope of these envelopes (Fig. 5).

6

Fig. 5. The envelope of the envelopes of the families of α-circular arcs is the

α-iso-optic curve (red) of the B´ezier curve: a cubic case at left, a ﬁfth order case at

right

4 Computation of the envelope

The computation of the envelope of a family of curves is, in general, a

diﬃcult task. It can be computed by computer algebra methods such as re-

sultants or Gr¨obner bases, but instead of exact computation we can also use

an approximate method described e.g. in Schulz and J¨uttler (2011).

At ﬁrst we have to obtain the envelopes of the families of α-iso-optic circular

arcs. Given a point s(t0) of the curve, the circles in question can be described

by their centers c(t) and radii r(t). Based on the well-known drawing of the α-

iso-optic circular arc over a segment s(t0)s(t) we can observe that the center

of each circle can be obtained from the actual point s(t) by a rotation and a

homothety. Rotate the point s(t) around s(t0) by γ=π/2−α, if α≤π/2 or

by γ=α−π/2, if α > π/2. Then apply a homothety with center s(t0) and

ratio of the radius of the circle and the length of the chord s(t0)s(t), which is

sin γ/2.

This way we obtained the centers c(t) of the circles. Due to the aﬃne

invariance property of B´ezier curves, the curve c(t), which is obtained from

the original curve by a rotation and a homothety, is also a B´ezier curve (see

Fig.6). The radius function of these circles is r(t) = q(c(t)−s(t0))2.

The implicit equation of the family of curves thus

f(x, y, t)=(x−sx(t))2+ (y−sy(t))2−(cx(t)−sx(t0))2−(cy(t)−sy(t0))2= 0

where indices xand ydenote the coordinate functions of the current vector.

7

Fig. 6. Locus of centers of the α-iso-optic circular arcs is a B´ezier curve obtained

by a rotation and a homothety from the original curve

Note, that this is a polynomial equation.

It is well-known from diﬀerential geometry, that the implicit equation of

the envelope of this family of circles can be computed by eliminating tfrom

the system

f(x, y, t) = 0 (1)

∂f (x, y, t)

∂t = 0 (2)

which can be performed by computer algebra method, such as resultants or

Gr¨obner bases (c.f. Davenport (1993), Cox (2008)).

Alternatively we can compute the envelopes of the family of circles from

their parametric equations. We can describe the family of α-circular arcs

f(u, t)(fx(u, t), fy(u, t)) through the point s(t0)(sx(t0), sy(t0)) of the B´ezier

curve s(t)(sx(t), sy(t)) as follows:

fx(u, t) = 1

2((sy(t)−sy(t0)) cot(α) + sx(t) + sx(t0)) + Dcos(u)

2 sin(α)

fy(u, t) = 1

2((sx(t0)−sx(t)) cot(α) + sy(t) + sy(t0)) + Dsin(u)

2 sin(α)

8

where tis the parameter of one circle, uis the parameter of the family, and

D.

=q(sy(t0)−sy(t))2+ (sx(t0)−sx(t))2

H.

= (sy(t0)−sy(t))(−s0

y(t)) + (sx(t0)−sx(t))(−s0

x(t)).

Partial derivatives can be computed as

∂fx(u, t)

∂u =D(−sin(u))

2 sin(α)

∂fy(u, t)

∂u =Dcos(u)

2 sin(α)

∂fx(u, t)

∂t =1

2(s0

y(t) cot(α) + s0

x(t)) + Hcos(u)

D·2 sin(α)

∂fy(u, t)

∂t =1

2(−s0

x(t) cot(α) + s0

y(t)) + Hsin(u)

D·2 sin(α).

To obtain the envelope we must eliminate ufrom the equation

∂fx

∂u

∂fx

∂t

∂fy

∂u

∂fy

∂t

= 0.

The determinant can be expressed as

∂fx

∂u

∂fx

∂t

∂fy

∂u

∂fy

∂t

=−Dsin(u)

4 sin(α)(−s0

x(t) cot(α) + s0

y(t)) −Hsin2(u)

4 sin2(α)−

−Dcos(u)

4 sin(α)(s0

y(t) cot(α) + s0

x(t)) −Hcos2(u)

4 sin2(α)=

=−D

4 sin(α)((−s0

x(t) cot(α)+s0

y(t)) sin(u)+(s0

y(t) cot(α)+s0

x(t)) cos(u))−H

4 sin2(α)

Using the abbreviations

A.

=−D

4 sin(α)(−s0

x(t) cot(α) + s0

y(t))

B.

=−D

4 sin(α)(s0

y(t) cot(α) + s0

x(t))

C.

=−H

4 sin2(α)

9

the parameter ucan be expressed as follows. If A≥0, then

∂fx

∂u

∂fx

∂t

∂fy

∂u

∂fy

∂t

= 0

Asin(u) + Bcos(u) + C= 0

√A2+B2sin u+ arcsin B

√A2+B2!!+C= 0

−arcsin B

√A2+B2!−arcsin C

√A2+B2!=u

while if A < 0, then

∂fx

∂u

∂fx

∂t

∂fy

∂u

∂fy

∂t

= 0

Asin(u) + Bcos(u) + C= 0

√A2+B2sin u+π−arcsin B

√A2+B2!!+C= 0

arcsin B

√A2+B2!−arcsin C

√A2+B2!−π=u.

Substituting uinto f(u, t) we obtain the parametric equation of the enve-

lope. After computing the envelopes of the families of α-iso-optic circular arcs,

the envelope of these envelopes can be computed in a similar manner, but due

to the complexity of the obtained curves this ﬁnal envelope can generally be

computed only by an approximate method. Results of the computations can

be seen in Fig. 7.

5 Conclusion and further research

Here we proved some results about iso-optic curves of a B´ezier curve. While

the direct computation of these curves is too complicated even for computer

algebra systems, based on the envelope property of the curve one can compute

exactly or approximately the iso-optics for higher degrees as well.

Results on envelopes can easily be generalized for other curve types in

CAGD, such as B-spline curves or NURBS, actually for any type of convex

10

Fig. 7. α-iso-optic curves of a cubic and a 5th order B´ezier curve for

α= 60◦,80◦,100◦,120◦

curve. Thus it is the ﬁeld of further research to study the properties of iso-

optics for those curves as well.

References

Cox,D., Little,J., OShea, D., 2008. Ideals, Varieties, and Algorithms: An Intro-

duction to Computational Algebraic Geometry and Commutative Algebra.

Springer, New York.

Cie´slak, W., Miernowski A. and Mozgawa M., 1991. Isoptics of a closed strictly

convex curve, Lecture Notes in Mathematics, Vol. 1481, 28–35.

Davenport, J.H., Siret, Y., Tournier, F. 1993. Computer Algebra: systems and

algorithms for algebraic computation. Academic Press.

Glaeser, G., Schr¨ocker, H.-P., 2002. Handbook of geometric programming us-

ing Open Geometry GL, Springer, 2002.

Lawrence, J.D., 1972. A catalog of special plane curves. Dover Publications.

Loria, G., 1911. Spezielle algebraische und transzendente ebene Kurven: The-

orie und Geschichte, B.G. Teubner, Leipzig-Berlin, 1911.

Miernowski A., Mozgawa W., 2001. Isoptics of Pairs of Nested Closed Strictly

Convex Curves and Crofton-Type Formulas, Contributions to Algebra and

Geometry 42, 281–288.

Odehnal, B., 2010. Equioptic curves of conic sections, J. Geom. Graphics 14/1,

29–43.

Piegl, L., Tiller, W., 1995. The NURBS book. Springer Verlag.

Schulz, T., J¨uttler, B., 2011. Envelope Computation in the Plane by Approx-

imate Implicitization, Applicable Algebra in Engineering, Communication

and Computing 22, 265–288.

Szalkowski D., 2005. Isoptics of open rosettes, Annales Univ. Mariae Curie-

Skolodwska 59, 119–128.

Taylor, C., 1884. Note on a theory of orthoptic and isoptic loci. Proc. R. Soc.

London XXXVII.

11

Wunderlich, W., 1971. Contributions to the geometry of cam mechanisms with

oscillating followers, Journal of Mechanisms 6, 1–20.

Wunderlich, W., 1971. Kurven mit isoptischem Kreis. Aequat. Math. 6, 71-81.

12