# Geometry Type Declarations

> 2.0

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

- 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.

Topics

- Curve Type Declarations
- Surface Type Declarations
- Geometric Mathematical Operator Type Declarations

Conversation saved
HOOPSY BETA

### Hello! I'm HOOPSY

Your multilingual generative AI assistant for documentation. Ask me anything about HOOPS Exchange in your own language, or choose a sample question below to start a conversation:

What is HOOPS Exchange?
What are the latest release notes for HOOPS Exchange?
How do I start evaluating HOOPS Exchange?
How do I write my first sample application?
How can I get assistance?

HOOPSY may store conversations according to OpenAI's policy. Responses may not always be accurate.

HOOPSY is thinking...