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