#import "@local/handout:0.1.0": *
#import "@preview/cetz:0.4.2"

#let pat(img, sol) = {
  problem()

  table(
    stroke: none,
    align: center,
    columns: (1fr, 1fr),
    rows: 80mm,
    image(img, height: 100%), image(img, height: 100%),
  )

  solution(sol)
  v(1fr)
}

= A few problems

Find the signatures of the following patterns. Mark all mirror nodes, rotation centers, and glide reflections. \
Each pattern is provided twice for convenience.


#pat("../res/wolfram/cm.svg", [#sym.times#sym.convolve])
#pat("../res/wolfram/cmm.svg", [#sym.diamond.stroked`2`#sym.convolve`22`])
#pagebreak()




#pat("../res/wolfram/p3.svg", [#sym.diamond.stroked`333`])
#pat("../res/wolfram/p3m1.svg", [#sym.convolve`333`])
#pagebreak()

#pat("../res/wolfram/p4.svg", [#sym.diamond.stroked`442`])
#pat("../res/wolfram/p4m.svg", [#sym.convolve`442`])
#pagebreak()

#pat("../res/wolfram/p6.svg", [#sym.diamond.stroked`632`])
#pat("../res/wolfram/p6m.svg", [#sym.convolve`632`])
#pagebreak()

#pat("../res/wolfram/p4g.svg", [#sym.diamond.stroked`4`#sym.convolve`2`])
#pat("../res/wolfram/p31m.svg", [#sym.diamond.stroked`3`#sym.convolve`3`])
#pagebreak()

#problem()
Draw a wallpaper with the signature #sym.convolve`442` \
#note[Make sure there are no other symmetries!]
#v(1fr)
#pagebreak()


#pat("../res/wolfram/pgg.svg", [#sym.diamond.stroked`22`#sym.times])
#pat("../res/wolfram/pmg.svg", [#sym.diamond.stroked`22`#sym.convolve])
#pagebreak()

#pat("../res/wolfram/pg.svg", [#sym.times#sym.times])
#pat("../res/wolfram/pm.svg", [#sym.convolve#sym.convolve])
#pagebreak()

#pat("../res/wolfram/p2.svg", [#sym.diamond.stroked`2222`])
#pat("../res/wolfram/pmm.svg", [#sym.convolve`2222`])
#pagebreak()

#pat("../res/wolfram/p1.svg", [#sym.circle.small])
