# The Projections of Convex Lattice Sets of Points inE2

Authors: Yu Gu; Lin Si
Journal: Mathematical Problems in Engineering
 (2016)

---

## Abstract

Can one determine a centrally symmetric lattice polygon by its projections? In 2005, Gardner et al. proposed the above discrete version of Aleksandrov’s projection theorem. In this paper, we define a coordinate matrix for a centrally symmetric convex lattice set and suggest an algorithm to study this problem.


---

## Body

## 1. Introduction

According to Gardner [1], geometric tomography deals with the retrieval of information about a geometric object from data concerning its projections (shadows) on planes or cross sections by planes. When the geometric object is a convex body, there are many results from convex geometry. A famous example is the celebrated Aleksandrov’s projection theorem, that is, for an origin symmetric convex body (compact, convex subset with nonempty interior in the n-dimensional Euclidean space En); it can be determined by its projections. For more details, see [1]. When the object is a convex lattice set, it models the atoms in a crystal which will lead to a range of topics concerned with electron microscopy in discrete tomography [2, 3].IfA is a set in En, we denote the convex hull of A by conv⁡A. The dimension of A is the dimension of its affine hull and is denoted by dim⁡A. The notation for the usual orthogonal projection of A on a subspace H is A∣H. A convex lattice set F is a finite subset of the n-dimensional integer lattice Zn such that F=conv⁡F∩Zn and we denote the cardinality of F by ♯{F}. Let C(Zn) denote the set of all centrally symmetric convex lattice sets about origin of Zn.In 2005, Gardner et al. [4] proposed the following discrete version of Aleksandrov’s projection theorem.Question 1.
LetC1 and C2 belong to C(Zn) with dim⁡C1=dim⁡C2. If ♯{C1∣H}=♯{C2∣H} holds for every hyperplane H with a norm u∈Zn∖{o}, do C1 and C2 coincide up to a translation?In [4], Gardner et al. discovered a counterexample to this problem in Z2 with cardinality 11 (Figure 1). In [5], Zhou proved that the counterexample discovered by Gardner et al. was the only counterexample in Z2, up to unimodular transformations and with cardinality not larger than 17. In [6], Xiong proved that an origin symmetric convex lattice set can be uniquely determined by its lattice projection counts if y-coordinate’s absolute value is not bigger than 2 for every point in this origin symmetric convex lattice set and its cardinality is not 11.Figure 1
Counterexample to Question1 in Z2 with cardinality 11.All the results above [4–6] show that the discrete Aleksandrov’s projection theorem must have additional hypotheses. Motivated by the work of Gardner, Gronchi, Zong, Zhou, and Xiong, in the present paper, we introduced the coordinate matrix for convex lattice set and present some results about coordinate matrix. Considering that counting of projection of a convex lattice set in the discrete Aleksandrov’s projection theorem is important, we propose an algorithm based on the coordinate matrix and its properties.


## 2. Coordinate Matrix

LetP belong to C(Zn). If P has ai points on the line x=i(-m≤i≤m), where am≠0 and am+1=am+2=⋯=0, then we denote P by P[a-m,…,a-1,a0,a1,…,am]. Clearly, since P is an origin symmetric convex lattice set, we have that ai=a-i(1≤i≤m), ♯{P}=∑i=-mmai.Definition 1.
ForP[a-m,…,a-1,a0,a1,…,am], denote the minimum y-coordinate by yi0 and the maximum y-coordinate by yi1 on the line x=i(-m≤i≤m), respectively. Define thecoordinate matrix of P[a-m,…,a-1,a0,a1,…,am] by the following: (1)x0x1⋯xi⋯xmy01y11⋯yi1⋯ym1y00y10⋯yi0⋯ym0.Obviously, a convex lattice set and its coordinate matrix can be uniquely determined by each other.Example 2.
Considering the coordinate matrix ofC1 in Figure 1, we get (2)012100-1-20.We summarize some basic properties of coordinate matrix as the following propositions.Theorem 3.
Let(3)P∈CZn,M=x0x1⋯xi⋯xmy01y11⋯yi1⋯ym1y00y10⋯yi0⋯ym0be its coordinate matrix. Then M has the following properties:(1)
♯{P}=2∑i=1myi1-yi0+y01-y00+2m+1.(2)
♯{P∣y=0}=2m+1.(3)
♯{P∣x=0}=2max1,…,m⁡{y01,…,ym1;y00,…,ym0}+1.Proof.
Let(4)P∈CZn,M=x0x1⋯xi⋯xmy01y11⋯yi1⋯ym1y00y10⋯yi0⋯ym0be its coordinate matrix.(1)
By the definition of the coordinate matrix and the symmetry ofP, we have (5)♯P=2∑i=1myi1-yi0+1+y01-y00+1=2∑i=1myi1-yi0+y01-y00+2m+1.(2)
From the the definition of the coordinate matrixP, we can get it.(3)
Note thatP is symmetric about the origin.ForP∈C(Zn) and its coordinate matrix(6)M=x0x1⋯xi⋯xmy01y11⋯yi1⋯ym1y00y10⋯yi0⋯ym0,we can denote by (±xi,±yir), (±xj,±yjs), and (±xk,±ykt) any three points in P, where 0≤i,j,k≤m, and yi0≤yir≤yi1, yj0≤yjs≤yj1, yk0≤ykt≤yk1.Remark 4.
Here(±xi,±yir), (±xj,±yjs), and (±xk,±ykt) denote one of the following cases: (7)-1u1xi,-1u2yir,-1v1xj,-1v2yjs,-1w1xk,-1w2ykt,for u1,u2, v1,v2, w1, and w2∈{1,2}.If(8)±xi±yir1±xj±yjs1±xk±ykt1≠0,we know that (±xi,±yir), (±xj,±yjs), and (±xk,±ykt) can be regarded as three vertexes of a nondegenerate triangle.Then, with0≤λ1,λ2,λ3≤1 and λ1+λ2+λ3=1, we have that (9)xp=λ1±xi+λ2±xj+λ3±xk,yp=λ1±yir+λ2±yjs+λ3±yktis a convex combination of (±xi,±yir), (±xj,±yjs), and (±xk,±ykt). If (xp,yp)∈Z2, by the convexity of P, (xp,yp) belongs to P. Thus we obtain the following theorem.Theorem 5.
Let(10)M=x0x1⋯xi⋯xmy01y11⋯yi1⋯ym1y00y10⋯yi0⋯ym0with xi=i and yi1>yi0, yi1,yi0∈Z,i=0,1,2,…,m. Then M is the coordinate matrix of some P∈C(Zn) if and only if for any λ1,λ2,λ3 with 0≤λ1,λ2,λ3≤1 and λ1+λ2+λ3=1 there exist xq,yq1,yq0 in M such that (11)xq=±xp,yq1≥±yp≥yq0.


## 3. Algorithm for Counting of Projection of a Convex Lattice Set

LetP∈C(Zn). The primitive directions of P, DS(P) is defined as (12)DSP=u=a,b∣a,b∈Z,gcda,b=1,∃p,q∈P,such  thatlpq∥u.Here, gcd represents the greatest common divisor.Let(13)M=x0x1⋯xi⋯xmy01y11⋯yi1⋯ym1y00y10⋯yi0⋯ym0be the coordinate matrix of P, and u=(a,b)∈DS(P). Based on the line segment intersection algorithm [7], the computation of planar convex hulls algorithm [7], and the coordinate matrix of P, an algorithm named as plane sweep algorithm about ♯{P∣u},∀u∈DS(P) is given in Algorithm 1.Algorithm 1:Plane sweep algorithm.
Require: coordinate matrixM and primitive direction u. Ensure: ♯{P∣u}. ( 1 )   M←¬⌀. Let M correspond to points pir=(xi,yir),xi∈Z,yir∈Z. ( 2 )   Initialize an empty event queue D. Next, insert the point pir into D. (Rename pir to pk [Remark 7] by the insert-order [Remark 6] of lattice points). ( 3 )   Initialize an empty stack S and an empty linked list T. ( 4 )   while (D is not empty) do ( 5 )    Determine the next event point pk in D and delete it. ( 6 )     HANDLEEVENTPOINT ( 7 )     ORIGINSYMMETRY ( 8 )   end while ( 9 )   Initialize an empty variable v [Remark 9]. ( 10 ) if (xi=0,xi∈T) then ( 11 )  v=v+1. ( 12 ) else ( 13 )  v=v+0. ( 14 ) end if ( 15 ) Compute the value of (s+2t-w-v) [Remark 8], and assigned to ♯{P∣u}.Remark 6.
Moving a horizontal sweep linel downwards over the plane, the sweep line halts at certain event points. If sweep line reaches an event point, then a lattice point must be added to event queue D. This point is tested against the ones already have been reached. If two points have the same y-coordinate, then the one with smaller x-coordinate will be added to event queue D first.Remark 7.
Based on Theorem3, M is a 3×(m+1) matrix and it presents ∑i=0m(yi1-yi0+1) points. We denote ∑i=0m(yi1-yi0+1) by N. Thus D could be recorded as {pk,1⩽k⩽N}.Remark 8.
s, t, and w are obtained after the While-loop is completed. At the end of Algorithm 2, s and t represent the number of points in S and T, respectively. w is defined in Algorithm 3.Algorithm 2:HANDLEEVENTPOINT.
( 1 )   Insert pk into T. ( 2 )   if(T←⌀) then ( 3 )    Keep pk in T. ( 4 )    if(S←⌀) then ( 5 )     Keep pk in T. ( 6 )    else ( 7 )     if (lkj∥u) then ( 8 )      Delete pk from T. (Suppose pj∈S, 1⩽j⩽k and j∈Z. The projection of pk and pj in the primitive direction u is the same point.) ( 9 )     else ( 10 )      Keep pk in T. ( 11 )     end if ( 12 )    end if ( 13 )  else ( 14 )   if (lki∥u) then ( 15 )   Insert pi into S, and delete pk from T at the same time. (Suppose pi∈T, 1⩽i⩽k andi∈Z.) ( 16 )   else ( 17 )   if(S←⌀) then ( 18 )    Keep pk in T. ( 19 )   else ( 20 )    if(lkj∥u) then ( 21 )     Delete pk from T. (Suppose pj∈S, 1⩽j⩽k and j∈Z) ( 22 )    else ( 23 )     Keep pk in T. ( 24 )    end if ( 25 )   end if ( 26 )  end if ( 27 ) end ifAlgorithm 3:ORIGINSYMMETRY.
( 1 )  The origin symmetric point of pi except those on the y-coordinate is denoted by qi. ( 2 )    l q i p i should be used to express the line though pi∈T and qi. ( 3 )  Initialize an empty variable w. ( 4 )  if(lqipi∥u) then ( 5 )   w=w+1. ( 6 )  else ( 7 )   w=w+0. ( 8 )  end ifRemark 9.
The points on they-axis should be considered separately because their symmetric points about the origin are still on the y-axis. The If-loop at the end of Algorithm 1 is used to do this. v represents the number of points whose x-coordinates are zero in T.The procedures for finding the lattice points of the projection overlapped as follows: we simply test if the direction of a straight line that is determined by two lattice points is parallel to the primitive directions. We could delete the lattice points which conform to the conditions in order to simplify the computation. Hence, the procedure HANDLEEVENTPOINT is defined as in Algorithm2.By the origin symmetry, we have less calculation of nearly half of the points. The next procedure ORIGINSYMMETRY, defined as in Algorithm3, is used to handle the missing points which are caused by the origin symmetry. In this procedure the way for process the lattice points whose projection will be overlap is the same as the procedure HANDLEEVENTPOINT.Remark 10.
If we do not consider the origin symmetry, we should calculate2N-1-y01+y00 points. This will take O((2N-1-y01+y00)×(2N-2-y01+y00)) time.The time required for the parts of HANDLEEVENTPOINT and ORIGINSYMMETRY dominates the total running time. In HANDLEEVENTPOINT, considering the worst case, we check every point with otherN-1 points whether they are in the same straight line with primitive direction. This will take O((1/2)N×(N-1)) time. In ORIGINSYMMETRY, we check N points with other N-(y01-y00+1) points. This will take O((1/2)N×(N-1-y01+y00)) time.



---

*Source: 7351861-2016-11-15.xml*