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 rotates.
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 technique.
Profile curves; Face;

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.
p-spline curve; NURBS curve; swinging 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).