# Singular

#### D.13.2.7 splitPolygon

Procedure from library `polymake.lib` (see polymake_lib).

Usage:
splitPolygon (markings); markings list

Assume:
markings is a list of integer vectors representing lattice points in the plane which we consider as the marked points of the convex lattice polytope spanned by them

Purpose:
split the marked points in the vertices, the points on the facets which are not vertices, and the interior points

Return:
list, L consisting of three lists
L[1] : represents the vertices the polygon ordered clockwise
L[1][i][1] = intvec, the coordinates of the ith vertex
L[1][i][2] = int, the position of L[1][i][1] in markings
L[2][i] : represents the lattice points on the facet of the polygon with endpoints L[1][i] and L[1][i+1]
(i considered modulo size(L[1]))
L[2][i][j][1] = intvec, the coordinates of the jth lattice point on that facet
L[2][i][j][2] = int, the position of L[2][i][j][1] in markings
L[3] : represents the interior lattice points of the polygon
L[3][i][1] = intvec, coordinates of ith interior point
L[3][i][2] = int, the position of L[3][i][1] in markings

Example:
 ```LIB "polymake.lib"; ==> Welcome to polymake version ==> Copyright (c) 1997-2015 ==> Ewgenij Gawrilow, Michael Joswig (TU Darmstadt) ==> http://www.polymake.org // the lattice polygon spanned by the points (0,0), (3,0) and (0,3) // with all integer points as markings list polygon=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); // split the polygon in its vertices, its facets and its interior points list sp=splitPolygon(polygon); // the vertices sp[1]; ==> [1]: ==> [1]: ==> 3,0 ==> [2]: ==> 2 ==> [2]: ==> [1]: ==> 0,0 ==> [2]: ==> 5 ==> [3]: ==> [1]: ==> 0,3 ==> [2]: ==> 10 // the points on facets which are not vertices sp[2]; ==> [1]: ==> [1]: ==> [1]: ==> 2,0 ==> [2]: ==> 3 ==> [2]: ==> [1]: ==> 1,0 ==> [2]: ==> 4 ==> [2]: ==> [1]: ==> [1]: ==> 0,1 ==> [2]: ==> 7 ==> [2]: ==> [1]: ==> 0,2 ==> [2]: ==> 9 ==> [3]: ==> [1]: ==> [1]: ==> 1,2 ==> [2]: ==> 8 ==> [2]: ==> [1]: ==> 2,1 ==> [2]: ==> 6 // the interior points sp[3]; ==> [1]: ==> [1]: ==> 1,1 ==> [2]: ==> 1 ```