For my ICM final I wanted to make an application to visualize a live tessellating grid. It needed two components. One window to draw the primary shape and a second window to display the primary shapes repeatedly in a grid. This takes homage from M.C.Esher’s tessellation drawings.
This project is currently in its work-in-progress phase. In this video a window of 300px X 300px is created. While inside this window when the mouse is clicked it plots a square at that location. Each point’s location is stored in an arrayList. When the mouse is clicked over a square that has been plotted instead of adding it deletes that particular square. As two or more squares are drawn they are connected by a vector line forming the primary shape in the tessellated grid. The circle is the center point of this shape. Each time a point is added or deleted this circle moves and finds the average center point.
Outside this window in the ‘println’ field the changing number indicates the degree of the center point relative to the mouse. Above would be zero degrees and increases going clockwise. This is the progress so far.
The next steps are to breakout the angle degrees of each point that’s already laid out so when a new point is plotted the primary shape would not connect in a chronological order but rather it’s inserted in-between two adjacent degrees. This is so that the lines of this primary shape would not cross itself.
Following this the fun part begins when a new window is created and the primary form begins to be tessellated.