Gnu Triangulated Surface Library


Adds to surface new faces defining the isosurface data[x,y,z] = c

Signature: isosurface(data, c, …)

data is a 3D numpy array. c is the isovalue defining the surface

Keyword arguments: extents= [xmin, xmax, ymin, ymax, zmin, zmax]

A numpy array defining the extent of the data cube. Default is the cube with corners at (-1,-1,-1) and (1,1,1) Data is assumed to be regularly sampled in the cube.

method= [‘cube’|’tetra’|’dual’|’bounded’]

String (only the first character counts) specifying the method. cube – marching cubes (default) tetra – marching tetrahedra dual – maching tetrahedra producing dual ‘body-centred’

faces relative to ‘tetra’

bounded – marching tetrahedra ensuring the surface is

bounded by adding a border of large negative values around the domain.

By convention, the normals to the surface are pointing towards positive values of data[x,y,z] - c.


Merges list of Vertices that are within a box of side-length epsilon of each other.

Signature: merge(list,epsilon)


Returns the data read from File f as a Surface. The File data must be in GTS format (e.g., as written using Surface.write())

Signature: read(f)


Returns tuple of Segments from a list or tuple of Vertices.

Signature: segments(list)


Returns a unit sphere generated by recursive subdivision. First approximation is an isocahedron; each level of refinement (geodesation_order) increases the number of triangles by a factor of 4.

Signature: sphere(geodesation_order)


Returns a Triangle that encloses the plane projection of a list or tuple of Points. The Triangle is equilateral and encloses a rectangle defined by the maximum and minimum x and y coordinates of the points.

Signature: triangles(list)


Returns tuple of Triangles from a list or tuple of Edges.

Signature: triangles(list)


Returns tuple of Vertices from a list or tuple of Segments.

Signature: vertices(list)


Report issues or inclarities to github.