To home page

3D source code. CXMMGeometry : base geometry class

Home page

Previous topics :
Four-component vector

Parametric representation

3D objects which we consider (curves, surfaces) often have complex shapes, and they cannot be represented by simple analytical functions. So we have to represent curves and surfaces by parts.
Within each part, geometric charactersistics, like position vector, depend on a parameter (for segments or curves) or on two parameters (for surfaces). Parameter values for segments and patches range from 0.0 to 1.0; for a curve - from 0.0 to its length.

Continuity and smoothness of parametric curves and surfaces at the joints is controlled by parametrisation on both sides of the joints. For parametric curves nonuniqueness is easily treated :

As we need to estimate tangents, normals and curvatures, we need a kind of parametrisation which enables easy differentiation. From this point of view, polynomials of not too high degree are very convenient. Polynomials of high degree require a great number of coefficients, the geometrical sense of them is hardly understandable. Moreover, higher-degree polynomials often cause geometric fluctuations of their shape.
The qubic equations happened to be a good compromize for many applications.

Basic geometry class CXMMGeometry

CXMMGeometry is a basic class for any geometry we will consider later.

  • its descendants will be a segment, a curve, a patch, a collection of patches etc.
  • all geometry representations are parametric; we have only one parameter for one-dimensional geometry (a segment); for two-dimensional - two parameters U and V are valid. Parameters for segments and patches change from 0.0 to 1.0; for a curve - from 0.0 to its length.
  • any geometry may contain a list of other geometries, like a patch that contains four segments as its boundaries; like a structure which may contain arbitrary number of patches, so we make any geometry contain a list of pointers to other geometries; we must define this class (CXMMList) to contain this list of pointers to other geometries
  • © Copyright 2007..2009 MI Simulators