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 Hoffmann 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 fixed 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 definition, 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 fixed 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: hofi@ektf.hu (Mikl´os Hoffmann).
Preprint submitted to Elsevier Preprint 29 November 2011
Iso-optic curve of a given curve has been studied since centuries, although
the first 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 fields. 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 flexible modification 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 first 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 definition 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 different control
points can be transformed by an affine 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 find 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 definition 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 first 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 different
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 different
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 fifth order case at
right
4 Computation of the envelope
The computation of the envelope of a family of curves is, in general, a
difficult 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 first 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 affine
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 differential 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 final 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 field 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