Modeling in Polar/Spherical Coordinates
Single-valued curves rho=rho(theta) or surfaces rho=rho(phi,theta), can be defined
in a system of polar (rho,theta) or spherical (rho,phi,theta) coordinates, where
phi represents the longitude and theta the latitude.
The use of these polar or spherical coordinate systems for the definition of curves
and surfaces arise as natural choice in several cases. For instance, in some
engineering applications such as the design of cam profiles, it is very convenient
to define the profiles rho=rho(theta), to analyse easily the mechanism as the Cam
Moreover, in many applications, we need to work on the sphere, or on sphere-like
surfaces and methods for interpolating data and modeling over a spherical domain
have received attention.
There has been a considerable amount of work dealing with (rational) trigonometric
curves defined in polar coordinates or, analogously, on circular arcs, so as (rational)
trigonometric surfaces defined in spherical coordinates or, analogously, on rectangular
or triangular spherical domains.
An important contribution in this field has been to reconcile the trigonometric and
standad rational polynomial formulations, showing that every rational trigonometric
form utilizing the trigonometric B-basis can be easily reparametrized in rational
Bezier curve or surfaces.
Both representations of a given curve or
surface have the same control points. The standard Bezier weights are computed
from the trigonometric weights after division by the weight sequence associated
with an arc of the unit circle or with a patch on a unit sphere.
The trigonometric form provides an attractive alternative representation for some
specific subsets, which are characterized in a very intuitive and geometric manner.
We construct single-valued curves in polar coordinates by taking an arc of the unit
circle and displacing its control points along predetermined radial directions,
modifying simultaneously the associated weight. Trigonometric Bezier curves are
obtained by locating arbitrarily the control points, keeping the weights equal to
those of a circular arc. Single-valued surfaces in spherical coordinates and
trigonometric Bezier surfaces are generated in a similar way from a patch of
the unit sphere.
Some of these proposal have been naturally extended to spline curves and surfaces,
by the use of a B-spline scheme. Thus we could build single-valued spline curves
in polar coordinates, spline surfaces in spherical coordinates, or trigonometric
spline curves and surfaces.
Finally, many ideas exposed here for spherical coordinates carry over to other non
cartesian system of coordinates involving an angle, such as cylindrical or tubular
coordinates. The associated single-valued surfaces naturally define half-spaces and,
consequently, the test point inside the object (Point Membership Classification
PMC), is easily solved . Therefore, such surfaces can be introduced as primitives into
a CSG-based solid modeling system and combined by means of Boolean operations.
In the following we show some examples obtained using our NURBS based modeling
system supplied with a modeling environment for p-spline curves and surfaces in
polar, spherical and mixed polar-Cartesian coordinates.
The first example shows a face in polar-spherical coordinated obtained by the
skinning technique; the profile curves for half face are p-spline curves of
different degree 2 and 3, different knot partition and obtained by interpolation
in polar coordinates. Before applying the skinning technique in sperical coordinates,
in order to obtain a tensor product p-spline surface, all the profile curve have
been maked compatible by using our degree elevation algorithm and knot insertion
The second example shows a swinging surface as a particular case of a product
surface in mixed polar-Cartesian coordinates. The figures show the p-spline
trajectory curve modeled in polar coordinates, the NURBS profile curve modeled
in Cartesian coordinates and the resulting surface.
Recently we showed that more general classes of rational Bezier curve and NURBS
can be used for design over circular domains. These curves, named ICC (Inverse
Circular Curves), provide a better alternative to p-Bezier and p-spline from
the modeling point of view. Moreover they present a natural generalization to
patches on spherical triangles, that we named ISS (Inverse Spherical Surfaces).
G.Casciola, S.Morigi, Un sistema distribuito per la modellazione solida
sculturata, Giornate di Studio sul Calcolo Parallelo, Lucca (1996)
Modelling of curves and surfaces in polar and Cartesian coordinates,
Department of Mathematics, University of Bologna, n.12, Bologna, (1996)
G.Casciola, M.Lacchini, S.Morigi,
Degree elevation for single-valued curves in polar coordinates,
Department of Mathematics, University of Bologna, n.13, Bologna, (1996)
G. Casciola, S. Morigi,
Spline curves in polar and Cartesian coordinates,
Curves and Surfaces with applications in
CAGD, A. LeMeahute, C. Rabut ed L.L. Schumaker (Eds.) (1997)
Circle as p-spline curve,
Department of Mathematics, University of Bologna, n.9, Bologna, (1997)
G.Casciola, S.Morigi, J.Sanchez-Reyes,
Degree elevation for p-B\'ezier curves,
Computer Aided Geometric Design, vol.15 (1998)
Inverse Circular Curves,
International Journal of Shape Modeling, Vol.8, no.1 (2002)
G.Casciola, S.Morigi, L.L.Schumaker,
Inverse Spherical Surfaces, in preparation.