# Geometry Type Declarations

## Detailed Description

group a3d_geometry_types

In general, each curve and surface has a parametric function that describes its minimal natural definition.

Version

2.0

• Curves have a parametric function that takes a single argument, `Parameter`), which is a real number. The result of the `PointOnCurve` function is a 3D cartesian point represented by three real numbers.

` PointOnCurve = F(Parameter) `

For example, the following parametric function provides the minimal natural definition of a circle on the Z=0 plane, centered in (0,0,0), and having the radius: `R`.

` X = Radius * cos(Parameter), Y = R * sin(Parameter), Z = 0 `

• Surfaces have a parametric function that takes two arguments, `Parameter_U` and `Parameter_V`, which are real numbers. The result of the function (`PointOnSurface`) is a 3D cartesian point represented by three real numbers.

` PointOnSurface = F(Parameter_U, Parameter_V) `

For example, the following parametric function provides the minimal natural definition of the Z=0 plane:

` X = Parameter_U, Y = Parameter_V, Z = 0 `

To represent other circles and planes, the following items are sequentially applied to each curve and surface (except for NURBS curves and NURBS surfaces):

1. Trim

2. Parametric transformation (an affine function)

3. Cartesian transformation

For example, the following equation shows the application of these modifications:

`PointOnCurve = CartesianTransformation( F(CoefA * Parameter + CoefB) ) `

Where the equation components have the following characteristics:

• `Parameter` value is bounded by two real numbers as follows: `IntervalMin <= Parameter <= IntervalMax`.

• `CoefA` and `CoefB` are real numbers that define the affine function (the parametric transformation).

• `CartesianTransformation` is a spatial transformation.