X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: f996b,b1a65e42ec86e1c3,start X-Google-Attributes: gidf996b,public X-Google-ArrivalTime: 1994-05-17 07:23:53 PST Path: gmd.de!nntp.gmd.de!xlink.net!howland.reston.ans.net!news.cac.psu.edu!news.pop.psu.edu!psuvax1!psuvax1!flee From: flee@cse.psu.edu (Felix Lee) Newsgroups: alt.ascii-art Subject: LINE,TALK: how to make annoying wallpaper patterns Date: 16 May 1994 06:31:41 GMT Organization: Penn State Comp Sci & Eng Lines: 143 Message-ID: NNTP-Posting-Host: dictionopolis.cse.psu.edu [This is a repost. The first copy got munged, so I canceled it.] I saw a book in the library called something like How to Create Your Own Escher Art. I forget the exact title. Skimming the book (I mostly just looked at the pictures :) inspired me to try some tessellation exercises in ascii. The basic idea isn't hard. You take a repeating tile pattern, like a bunch of rectangles, hexagons, or whatever, and then distort the tiles symmetrically. Here are the exercises I've done. This first one is probably a little hard to see. \ `y' , \ `y' , \ `y' , \ `y' , \ ` ,-`.7 /_ ,-`.7 /_ ,-`.7 /_ ,-`.7 /_ ,-`. | o)_.._7 | o)_.._7 | o)_.._7 | o)_.._7 | o -'_..' , `-'_..' , `-'_..' , `-'_..' , `-'_. y' , \ `y' , \ `y' , \ `y' , \ `y' 7 /_ ,-`.7 /_ ,-`.7 /_ ,-`.7 /_ ,-`.7 / )_.._7 | o)_.._7 | o)_.._7 | o)_.._7 | o)_._ .' , `-'_..' , `-'_..' , `-'_..' , `-'_..' , \ `y' , \ `y' , \ `y' , \ `y' , \ _ ,-`.7 /_ ,-`.7 /_ ,-`.7 /_ ,-`.7 /_ ,- _7 | o)_.._7 | o)_.._7 | o)_.._7 | o)_.._7 | `-'_..' , `-'_..' , `-'_..' , `-'_..' , `-' If you can't see what this picture is, then I haven't been too successful. I'm not really that happy with it myself. It's pretty cluttered, and not really shaped well. Part of the problem is it's a little small. Small ascii art is hard to do. The next thing I tried is larger. O )) ( ( \ \_.-' \ O )) ( ( \ \_.- \_.' | `. \ __ | \_.' | `. \ \#_/ `-._/ . / _`. \#_/ `-._/ -' \ O )) ( ( \ \_.-' \ O . __ | \_.' | `. \ ' __ | \_/ . / _`. \#_/ `-._/ . / _`. \#_/ )) ( ( \ \_.-' \ O )) ( ( \ \_.-' ' | `. \ ' __ | \_.' | `. \ ' `-._/ . / _`. \#_/ `-._/ . \ O )) ( ( \ \_.-' \ O )) ( __ | \_.' | `. \ ' __ | \_.' | / _`. \#_/ `-._/ . / _`. \#_/ `-._ ( ( \ \_.-' \ O )) ( ( \ \_.-' `. \ ' __ | \_.' | `. \ ' __ _/ . / _`. \#_/ `-._/ . / _`. \ O )) ( ( \ \_.-' \ O )) ( ( \ \ | \_.' | `. \ ' __ | \_.' | `. \ \#_/ `-._/ . / `. \#_/ `-._/ A bizarrely proportioned animal, but it's pretty easy to see. Here's a snapshot of this pattern at an intermediate stage. __________________ _ __________ ( / / / `. / / _____________/ _ /_________________/ \ O \.-'/ / \ __ | \_/ ( / \ / _`. \#_/ `.__/ _ / ____ \_________ ( ( \ \_.-' \ O .-'/ / \/ `. \ ' __ | \_/ ( \ ______ / _ / _`. \#_/ `.__/ \ O .-'/ ( ( \ \_.-' \ / | \_/ ( `. \ ' __ | /___ \#_/ `.__/ _ / `. \#______________________ / \ O .-'/ ( \_.-' / | \_/ ( `. / __ \#_/ `.__/ / / \__/ \ / \ ________________/ ____\____________ You can see the grid of parallelograms that I started with, and a few alternate shapes around the two central figures. The picture at this stage is actually almost finished. It started out much simpler. I didn't consciously set out to make animals. I began by making simple, arbitrary distortions to the tiles, something like this: __ __| / \ / \_______/ b \__ \ a / / __| __________\__/ / \_______________ / __ \ a / __| / \ / / / \_______/ b \__/ / \ a / / / __| / ____\__/ / \_______________/ / __ \ a / | / \ / / \_______/ b \__/ / There are two basic bulges in this shape, labelled a and b, applied in a repeated pattern. Once I had a few bulges, I looked at the shape to see what it reminded me of. There are many possibilities. I picked one thing, and then slowly distorted the tiles to look more like what I had in mind, filling in details as necessary. The patterns above use just translational symmetry: each tile is facing the same way. The next exercise I did uses reflective symmetry as well. |' _ |' _ |' _ |' _ -.' < < `-.' < ( `-.' < ( `-.' < ( `-. " ) /-' " ) /-' " ) /-' " ) /-' " -'.' .-'.' .-'.' .-'.' .-' .' . `..' . `..' . `..' . `..' Y >._ Y >._ Y >._ Y >._ Y `| _ `| _ `| _ `| _ `| > `.-' ) > `.-' ) > `.-' ) > `.-' ) > -\ ( " `-\ ( " `-\ ( " `-\ ( " `-\ `.`-. `.`-. `.`-. `.`-. `..' . `..' . `..' . `..' . Y _.< Y _.< Y _.< Y _.< |' _ |' _ |' _ |' _ -.' < ( `-.' < ( `-.' < ( `-.' < ( `-. " ) /-' " ) /-' " ) /-' " ) /-' " -'.' .-'.' .-'.' .-'.' .-' .' . `..' . `..' . `..' . `..' This may be a little hard to see too. I originally started with a grid of large, wide rectangles, but somewhere along the way the shapes became thin. More complicated things are certainly possible, such as using more than one interlocking shape. Escher used fish and birds, angels and demons, etc. Rotational symmetry will probably be awkward to do, since rotating ascii shapes is difficult. 3-fold rotational symmetry, like Escher's interlocking lizards, may be impossible. (But I suppose you could probably do a reasonable job with a solid fill technique.) (Congratulations if you can spot errors in the repeating patterns :). Any errors here are unintentional.) --