summaryrefslogtreecommitdiff
path: root/colors2.html
blob: 2cbbc0a33c40273fff8aff99318054f4be06f0f9 (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
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>