Hamming Quilt - RealWorld forums

Log-in or register.

Hamming Quilt

PAEz
on October 19th 2013

Hamming Quilt
Renders a Hamming Quilt.

Code
Configuration

Configuration.AddSlider("_r", "Red", "", 0, 255, 136);
Configuration.AddSlider("_g", "Green", "", 0, 255, 86);
Configuration.AddSlider("_b", "Blue", "", 0, 255, 167);
Configuration.AddSlider("_a", "Alpha", "", 0, 255, 255);

Execution

function hamming(a, b) {
	var distance = 0,
		v = a ^ b;
	while (v) {
		distance++;
		v &= v - 1;
	}
	return distance;
}


var image = Document.RasterImage;
var sizeX = image.sizeX;
var sizeY = image.sizeY;
var scaleTo = Math.ceil(Math.log(Math.max(sizeX, sizeY)) / Math.LN2);


for (x=0,xEnd=sizeX; x<xEnd; x++){
for (y=0,yEnd=sizeY; y<yEnd; y++){

var d = 1 - (hamming(x, y) / scaleTo);

var r = d * Configuration._r;
var g = d * Configuration._g;
var b = d * Configuration._b;

c=(Configuration._a   << 24) |	// alpha
  (r << 16) |		// red
  (g <<  8) |		// green
  b;				// blue
image.SetPixel(x, y, 0, 0, c);

}
}
Page views: 1205       Posts: 1      
What about ICL files?
Select background
I wish there were...