Grid

- optical illusion

The added crosses distort the horizontal and vertical grid lines. Adapted from an illusion by Akiyoshi Kitaoka with squares at the intersections.
Two sets of grid tiles are drawn, background light and dark squares, and black & white cross.
Try other even Order values from 4 to 14...

To New
  # set default screen, pen and turtle values
  ResetAll SetScreenSize [400 400] HideTurtle
  SetSC Black SetPC Green SetPS 1 PenUp
End

To GridSq :Order :Side
  # draw tile at each column x row position
  LocalMake "Offset (1+:Order)/2
  For (List "Col 1 :Order) [
    For (List "Row 1 :Order) [
      SetXY :Side*(:Col-:Offset) :Side*(:Row-:Offset)
      Tile :Col :Row :Side] ]
End

To Tile :Col :Row :Side
  # use global value of :Tile to draw selected tile
  Run (Word "Tile :Tile) :Col :Row :Side
End

To TileBg :Col :Row :Side
  If Even? (:Col+:Row) [SetPC [110 110 110]] [SetPC [155 155 155]]
  Square :Side-1 Fill Wait 2
End

To TileCross :Col :Row :Side
  If X>0 [Make "Col :Col+1]
  If Y>0 [Make "Row :Row+1]
  If Even? (:Col+:Row) [SetH 90] [SetH 0]
  Cross :Side/2.5 Wait Int :Side/10
End

To Cross :Side
  SetPW :Side/5
  SetPC Black Back :Side/2 PenDown
  Forward :Side PenUp Back :Side/2 Right 90
  SetPC White Back :Side/2 PenDown
  Forward :Side PenUp back :Side/2 Left 90
End

To Square :Side
  # square (side x side) drawn from centre (tp)
  Back :Side/2 Right 90 Back :Side/2 PenDown
  Repeat 4 [
    Forward :Side Left 90]
  PenUp Forward :Side/2 Left 90 Forward :Side/2     # r2c
End

To Even? :Num
  # return 'true' if Num even, else return 'false'
  If (Mod :Num 2)=0 [Output "True] [Output "False]
End

To Go :Order
  New Make "Side Int (400/(:Order+1))
  GlobalMake "Tile "Bg GridSq :Order+1 :Side Wait 20
  GlobalMake "Tile "Cross GridSq :Order :Side
End

Also see Alt Tile

Grid
Grid

Procedures blue
Variables pink
Comments green
Library gray