Home Online Manual
Top
Back: findOrientedBoundary
Forward: latticeArea
FastBack:
FastForward:
Up: polymake_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.13.4.7 cyclePoints

Procedure from library polymake.lib (see polymake_lib).

Usage:
cyclePoints(triang,points,pt) triang,points list, pt int

Assume:
- points is a list of integer vectors describing the lattice points of a marked polygon;
- triang is a list of integer vectors describing a triangulation of the marked polygon in the sense that an integer vector of the form (i,j,k) describes the triangle formed by polygon[i], polygon[j] and polygon[k];
- pt is an integer between 1 and size(points), singling out a lattice point among the marked points

Purpose:
consider the convex lattice polygon, say P, spanned by all lattice points in points which in the triangulation triang are connected to the point points[pt]; the procedure computes all marked points in points which lie on the boundary of that polygon, ordered clockwise

Return:
list, of integer vectors which are the coordinates of the lattice points on the boundary of the above mentioned polygon P, if this polygon is not the empty set (that would be the case if points[pt] is not a vertex of any triangle in the
triangulation); otherwise return the empty list

Example:
 
LIB "polymake.lib";
// the lattice polygon spanned by the points (0,0), (3,0) and (0,3)
// with all integer points as markings
list points=intvec(1,1),intvec(3,0),intvec(2,0),intvec(1,0),
intvec(0,0),intvec(2,1),intvec(0,1),intvec(1,2),
intvec(0,2),intvec(0,3);
// define a triangulation
list triang=intvec(1,2,5),intvec(1,5,7),intvec(1,7,9),intvec(8,9,10),
intvec(1,8,9),intvec(1,2,8);
// compute the points connected to (1,1) in triang
cyclePoints(triang,points,1);
==> [1]:
==>    3,0
==> [2]:
==>    0,0
==> [3]:
==>    0,1
==> [4]:
==>    0,2
==> [5]:
==>    1,2