1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
<link rel="stylesheet" href="css/sally.css" type="text/css" charset="utf-8" />
<link rel="stylesheet" href="css/ak.css" type="text/css" charset="utf-8" />
<body class="loading">
<center>
<div id="canvas_rapper" style="margin: 0 auto;margin-top:7%">
</div>
</body>
<script src="js/vendor/jquery-2.1.4.min.js"></script>
<script src="js/util.js"></script>
<script src="js/color.js"></script>
<script src="js/lex.js"></script>
<script src="js/matrix.js"></script>
<script>
// var color_hue_order = ("black dark-blue purple dark-red red orange " +
// "yellow lime green dark-cyan cyan blue magenta dark-gray light-gray white").split(" ");
var color_mat_order = ("dark-red red orange yellow lime cyan dark-cyan blue dark-blue purple magenta dark-red black").split(" ")
function color_mat (i) { return colors[color_mat_order[ mod(i,color_mat_order.length) ]] }
function lerp_color (lex, start_color, end_color, t, x, y) {
t = clamp(t, 0, 1)
t *= 6
if (t < 1.0) {
lex.bg = start_color
}
else if (t < 2.0) {
lex.bg = start_color
lex.fg = end_color
lex.char = (x+y) % 2 ? " " : "x"
}
else if (t < 3.0) {
lex.bg = start_color
lex.fg = end_color
lex.char = "x"
}
else if (t < 4.0) {
if ((x+y) % 2) {
lex.bg = end_color
lex.fg = start_color
}
else {
lex.bg = start_color
lex.fg = end_color
}
lex.char = "x"
}
else if (t < 5.0) {
lex.bg = end_color
lex.fg = start_color
lex.char = "x"
}
else if (t < 6.0) {
lex.bg = end_color
lex.fg = start_color
lex.char = (x+y) % 2 ? " " : "x"
}
else {
lex.bg = end_color
}
}
var grid_w = 6, grid_h = 4, across = 14, down = 9, gap = 1, dd = 100
var width = grid_w * across, height = grid_h * down
//var grid_w = 3, grid_h = 3, across = 24, gap = 1
var canvas = new Matrix (width, height, function(x,y){
var lex = new Lex (x,y)
var i = floor(x / grid_w)
var j = floor(y / grid_h) * across
var hue = floor((i+j) / dd)
var t = ((i+j) / dd) % 1
var xx = x % grid_w
var yy = y % grid_h
if (hue < 4*color_mat_order.length-1) {
var start_color = color_mat(hue)
var end_color = color_mat(hue+1)
}
else {
var start_color = gray(hue)
var end_color = gray(hue+1)
}
if (xx != grid_w-gap && yy != grid_h-gap) {
lerp_color(lex, start_color, end_color, t, xx, yy)
}
lex.build()
return lex
})
canvas.append(canvas_rapper)
document.body.className = ""
</script>
|