where (tx,ty,tz) is a translation vector, (sx,sy,sz) is a scaling vector and (rx,ry,rz) is a rotation vector (angles in degrees around each principal direction). Note that the translation is always performed after rotation and scaling.

If the scale parameter is specified, uniform scaling is applied along the three axis.

The flip parameter can be used to flip the surface orientation.

If set to one the twod parameter "flattens" the surface on the z = 0 plane (this is used in 3D by the GfsRefineSurface object).

Several simple implicit surfaces are pre-defined:

ellipse(x,y,a,b)

an ellipse (an elliptical prism in 3D) centered on (x,y) and with semimajor axis a and semiminor axis b.

sphere(x,y,z,r)

a sphere centered on (x,y,z) and of radius r.

cube(x,y,z,h)

a cube centered on (x,y,z) and of size h.

Boolean operations

Boolean operations between implicit surfaces can be used to create more complex objects (a technique also know as Constructive Solid Geometry). Given two implicit surfaces A and B with associated implicit functions fA and fB, the standard boolean set operations can be constructed as:

Intersection

A ^ B = { MIN (fA(x,y,z), fB(x,y,z)) }

Union

A U B = { MAX (fA(x,y,z), fB(x,y,z)) }

Difference

A - B = { MIN (fA(x,y,z), - fB(x,y,z)) }

For example the following will replicate the example of the wikipedia CSG page