The computation of the next set of vertices is based on the current set of vertices. In particular, the vertices of the next smaller square are the midpoints of the lines making up the current square. We also use a local variable for storing the new vertices. Using such a variable is done for two reasons. First, it preserves the initial set of vertices. Secondly, we use a vertex of the current square twice in computing the vertices of the next square.