Very cool!
And the code used to generate it:
First some python to create a qr code from the link and output it as a json list of booleans:
import qrcode, json
code = qrcode.QRCode()
code.add_data('https://youtu.be/dQw4w9WgXcQ')
code.make()
json.dumps(code.modules)
Copy and paste the out into the browser console and assign it to a variable called `qr`. Then run the following code to generate and display the string in the viewer: (function(qr) {
let start = ' L L L L K L L L L K'
let draw = val => {$('.names').value = val; main() };
let decode = val => val.replaceAll('d','a ').replaceAll('r',' a ').replaceAll('u',' a ').replaceAll('l',' a');
let size = 4
let on = (s) => {
let ret = ''
let line = 'r'.repeat(s-1)+'l'.repeat(s-1)
for (let i=0; i<s-1; i++) ret += line + 'd';
ret += line
ret += 'u'.repeat(s-1)
return ret
}
let right_cell = (s) => 'r'.repeat(s)
let left_cell = (s) => 'l'.repeat(s)
let down_cell = (s) => 'd'.repeat(s)
// draw(decode(on(3)+next_cell(3)+on(3)+next_cell(3)+next_cell(3)+on(3)+next_cell(3)))
let str = start
for (line of qr) {
for (val of line) {
str += val ? (on(size) + right_cell(size)) : right_cell(size)
}
console.debug(`A ${left_cell(size).repeat(line.length)}, ${size}, ${line.length} line ${line}`)
str += left_cell(size).repeat(line.length)
str += down_cell(size)
}
console.log(str);
draw(decode(str))
})(qr) function rotateLine(position) {
if (position < halfabet) {
context.rotate((-90 \* Math.PI) / 180);
} else if (position > halfabet) {
context.rotate((90 \* Math.PI) / 180);
} else if (position === halfabet) {
context.rotate((180 \* Math.PI) / 180);
}
}
I'm sure you have your reasons, but when I was writing the alphabet to make a spiral I found the rotation reverse on me at 'n' which is where the other cases of rotateline() kick in. Why isn't this function just: function rotateLine(position) {
context.rotate((-90 \* Math.PI) / 180);
}
Is it because it creates uninteresting results for actual names? Everyone just becomes spiral variations?An attempt:
pick a card, any card. pick a card, any card. pick a card, any card. pick a card, any card.
.
piet mondrian piet mondrian piet mondrian
pot
a. pan
z...z.z...zz...lk.w...l..g..l.l..g...z...f..f.f..f..k.wg.r.a
That was unexpectedly fun!
bbddffhhjjlln..n..p..p..r..r..t..t..v..v..x..x..z..z..n.n..n.n..o.o..o.o..p.p..p.p..q.q..q.q..r.r..r.r..s.s..s.s..t.t..t.t..u.u..u.u..v.v..v.v..w.w..w.w..x.x..x.x..y.y..y.y..z.z..z.z..a...z.a...z..a...z.a...z..b...z.b...z..b...z.b...z..c...z.c...z..c...z.c...z..d...z.d...z..d...z.d...z..e...z.e...z..e...z.e...z..f...z.f...z..f...z.f...z..g...z.g...z..g...z.g...z..h...z.h...z..h...z.h...z..i...z.i...z..i...z.i...z..j...z.j...z..j...z.j...z..k...z.k...z..k...z.k...z..l...z.l...z..l...z.l...z..m..z.m..z..m..z.m..z..n.z.n.z..n.z.n.z..o.z.o.x
tile tile tile, tile tile tile tile, tile tile tile, tile tile tile tile, tile tile tile, tile tile tile tile, tile tile tile, tile tile tile tile
Another fun tiling:
ugoldfish, goldfish swim goldfish, goldfish swim goldfish, goldfish swim goldfish, goldfish swim
"grosegrosegrosegrose" "grose grose grose grose"
one-two-one-two
hello i need help i'm trapped in a giant painting by wassily kandinsky and i can't find my way out of here what should i do?
no no no no
a lot of these are very cool and artful and incredibly creative, and I mean, the QR code generator, what can I say, but I think this one is my favorite
Love
Some kind of square thingy
It seems like a lost opportunity not to have diagonal lines.
Janson Janson bo-banson, bonana-fana fo-fanson, Fee fi mo-manson, Janson!
Add or remove commas to keep it from going out of bounds.
nopqrstuvwxyznopqrstuvwxyznopqrstuvwxyznopqrstuvwxyz
So people are having fun coming up with letter permutations that draw something insteresting.
aaaa.b.bbbb.c.cccc.d.dddd.e.eeee.f.ffff.g.gggg.h.hhhh.i.iiii.j.jjjj.k.kkkkk.l.llll.m.mmmmm....n...nnnn...o...oooo...p...pppp...q...qqqq...r...rrrr...s...ssss...t...tttt...u...uuuu...v...vvvv...w...wwww...x...xxxx...y...yyyy...z...zzzz
A lil spiral
.r..z...z..t..zh.t...m.zz.z.wzk..zzz...z..z.w..zg.gkg.g....r..g.g..dlbbe..be..be..be..be..be..be.d..b..d.d...d..cg..cg..cg...d..c..e.ebec..eb..e...e.b.e.b.e....bbbbb.b.c..e.c
bbbbddddffffhhhhjjjjllll0nnnnpppprrrrttttvvvvxxxxzzzz0 bbbbddddffffhhhhjjjjllll0nnnnpppprrrrttttvvvvxxxxzzzz0 bbbbddddffffhhhhjjjjllll0nnnnpppprrrrttttvvvvxxxxzzzz0 bbbbddddffffhhhhjjjjllll0nnnnpppprrrrttttvvvvxxxxzzzz0 zbbbbddddffffhhhhjjjjllll0nnnnpppprrrrttttvvvvxxxxzzzz0 zzbbbbddddffffhhhhjjjjllll0nnnnpppprrrrttttvvvvxxxxzzzz0 zzbbbbddddffffhhhhjjjjllll0nnnnpppprrrrttttvvvvxxxxzzzz0 zzbbbbddddffffhhhhjjjjllll0nnnnpppprrrrttttvvvvxxxxzzzz0 zz.bbbbddddffffhhhhjjjjllll0nnnnpppprrrrttttvvvvxxxxzzzz0 ...z.z.bbbbddddffffhhhhjjjjllll0nnnnpppprrrrttttvvvvxxxxzzzz0 zz. bbbbddddffffhhhhjjjjllll0nnnnpppprrrrttttvvvvxxxxzzzz0 ...z.z.bbbbddddffffhhhhjjjjllll0nnnnpppprrrrttttvvvvxxxxzzzz0 z.bbbbddddffffhhhhjjjjllll0nnnnpppprrrrttttvvvvxxxxzzzz0 z.z.bbbbddddffffhhhhjjjjllll0nnnnpppprrrrttttvvvvxxxxzzzz0 z.z.bbbbddddffffhhhhjjjjllll0nnnnpppprrrrttttvvvvxxxxzzzz0 z.z.bbbbddddffffhhhhjjjjllll0nnnnpppprrrrttttvvvvxxxxzzzz0