Let's consider now shortly the results of the previous considerations. The author has implemented in the concepts described before in the 3D grid generation and geometry description package IBG. The idea of contravariant geometry description and the grid generation algorithm was implemented in ANSI C in the "intersection-based grid generation" package IBG.
The main differences between the concept of cogeometry described here and the IBG package are:
picture:The island Rügen (Baltic coast of Germany)
The grid was created using a simple picture of the region with blue colors for the water and brown colors for land. The resulting grid contains ~ 40 000 points. On a VAX 4000/90 workstation 24 sec. have been used. Segments with nontrivial topology may be simply created using a characteristic function (> 0 inside, < 0 outside) of the region --- the most trivial example of a cogeometry induced by a mapping. The following grid was created using such a cogeometry:
picture:Surface defined by a characteristic function This picture (as the following surface pictures) shows only the internal surface between the different regions. It is only a part of the 3D grid generated by IBG for all regions. To define the following geometry, partial intersection has been used:
picture:Partial intersection of two simple geometries The two parts have been described simply by their characteristic functions f_1 = x^2 + (z-z_1)^2 - r_1^2 and f_2 = y^2 + (z-z_2)^2 - r_2^2. To define the cogeometry it was not necessary to compute explicitly the intersection line. It is also easy to include external data. Using elevation data obtained from the 1-degree USGS Digital Elevation Models we have created the following elevation profile:
picture:Surface of the Grand Canyon (USA) The related 3D cogeometry has been simply defined by the characteristic function f(x,y,z) = z - e(x,y) where e is the elevation of the surface in the point (x,y).
In the 3D grid there have been around 200 000 nodes. The required time on an alpha workstation was 500 s.