Computer-image of two variables

Code Actionscript 2.0

Frame action

// initialize drawing createEmptyMovieClip("holder_mc", 1); _root.bitmap = new flash.display.BitmapData(200, 200, true, 0xFFFFFFFF); holder_mc.attachBitmap(_root.bitmap, 10, "auto", true); // go through all rows and columns for (px = 0; px < 200; px = px + 1) { for (py = 0; py < 200; py = py + 1) { g = graph2d(px, py); color = (g << 16 | g << 8 | g); pixel(px, py, color); } } // enlarge bitmap-view holder_mc._xscale = 200; holder_mc._yscale = 200; function graph2d(px, py) { // average of px and py g = (px + py) / 2; return g; } function pixel(px, py, color) { _root.bitmap.setPixel(px, py, color); }

Code Actionscript 3.0

// initialize drawing var drawing:MovieClip = new MovieClip(); var bitmapdata = new BitmapData(200, 200, true, 0xFFFFFFFF); var bitmap = new Bitmap(bitmapdata); bitmap.smoothing = true; drawing.addChild(bitmap); this.addChild(drawing); // go through all rows and columns for (var px = 0; px < 200; px = px + 1) { for (var py = 0; py < 200; py = py + 1) { var g = graph2d(px, py); var color = (g << 16 | g << 8 | g); pixel(px, py, color); } } // enlarge bitmap-view drawing.scaleX = 2; drawing.scaleY = 2; function graph2d(px:int, py:int) { // average of px and py g = (px+py)/2; return g; } function pixel(px:int, py:int, color:int) { bitmapdata.setPixel(px, py, color); } function sinus(x:int) { var s = Math.sin(x * 2 * Math.PI/ 400); return s; } function cosinus(x:int) { var s = Math.cos(x * 2 * Math.PI/ 400); return s; } function stretch(value:Number, center:int, amplitude:int) { var st = int(value * amplitude + center); return st; }

Description

In this example, the sum of the horizontal and the vertical coordinates are rendered as a grey value. The function graph2d produces a sort of gradient or heatmap depending on the values px and py.

Download

Right click: Flashfile AS 2.0 | Flashfile AS 3.0 | SWF-File


Share