summaryrefslogtreecommitdiff
path: root/colors.html
blob: f063e099ea679398b5c63a722f06a2b9ecdd63fb (plain)
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
<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="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.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 teal cyan blue magenta dark-gray light-gray white").split(" ");

var color_mat_order = ("dark-red red orange yellow lime cyan teal 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) {
  if (t < 0.2) {
    lex.bg = start_color
  }
  else if (t < 0.4) {
    lex.bg = start_color
    lex.fg = end_color
    lex.char = (x+y) % 2 ? " " : "x"
  }
  else if (t < 0.6) {
    lex.bg = start_color
    lex.fg = end_color
    lex.char = "x"
  }
  else if (t < 0.8) {
    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 < 1.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 = 12, gap = 1
//var grid_w = 3, grid_h = 3, across = 24, gap = 1
var canvas = new Matrix (72, 35, function(x,y){
  var lex = new Lex (x,y)
  
  var i = floor(x / grid_w) + floor(y / grid_h) * across
  var hue = floor(i / 5)
  var t = (i % 5) / 5
  
  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.opacity = 1
  lex.build()
  return lex
})
canvas.append(canvas_rapper)

document.body.className = ""
</script>