- pow_img1.png (27.38 KiB) Viewed 2518 times
- pow_img2.png (29.49 KiB) Viewed 2518 times
- pow_img3.png (38.24 KiB) Viewed 2518 times
Code: Select all
<canvas id="c" width="1024" height="1024"></canvas>
<script>
var can = document.getElementById("c")
var ctx = can.getContext("2d");
var clist = ["#FFFFFF", "#999999", "#000000"];
var step = 256, v1 = 3, v2 = 2;
var stepm1 = step - 1;
var size = 1024 / step
var a = [];
for (var i = 0; i < stepm1; i++) a[i] = 0;
a[stepm1] = 1;
var b, k, m;
for (m = 0; m < step; m++) {
for (var i = 0; i < step; i++) {
ctx.fillStyle = clist[a[i]];
ctx.fillRect(size*i, size*m, size, size)
}
b = [];
for (var i = 0; i < stepm1; i++) b[i] = a[i + 1] + a[i] * v2;
b[stepm1] = a[stepm1] * v2;
for (var i = stepm1; i > 0; i--) {
k = Math.floor(b[i] / v1);
b[i] -= k * v1;
b[i - 1] -= k * v2;
}
b[0] = (b[0] % v1 + v1) % v1;
a = b;
}
</script>