#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])