Much more agressive explosion
authorAlyssa Rosenzweig <bobbybee@users.noreply.github.com>
Wed, 3 Jun 2015 16:24:35 +0000 (12:24 -0400)
committerAlyssa Rosenzweig <bobbybee@users.noreply.github.com>
Wed, 3 Jun 2015 16:24:35 +0000 (12:24 -0400)
DynImage.js
main.js

index d67e5fb..523e3c3 100644 (file)
@@ -125,12 +125,12 @@ DynImage.prototype.pointRing = function(sx, sy, height, layerIntensity, intensit
        }               
 }
 
-DynImage.prototype.explosion = function(width, radius, thresh, dk, ck, r, g, b) {
+DynImage.prototype.explosion = function(width, radius, thresh, dk, ck ) {
     for(var i = (width / 2) - (radius); i < (width / 2) + radius; ++i) {
         for(var j = (width / 2) - (radius); j < (width / 2) + radius; ++j) {
             if(Math.sqrt( ( ((width / 2) - i) * ((width / 2) - i) ) + ((width / 2) - j) * ((width / 2) - j) ) > radius) break;
 
-            if(Math.random() > thresh) {
+            if(Math.random() < thresh) {
                 // explode pixel
                 
                 var theta = Math.random() * Math.PI * 2;
@@ -138,12 +138,13 @@ DynImage.prototype.explosion = function(width, radius, thresh, dk, ck, r, g, b)
                 var newX = i + ( (dk * (width / 2)) * Math.cos(theta));
                 var newY = j + ( (dk * (width / 2)) * Math.sin(theta));
 
-                var color = [r, g, b];
-                this.setColor(newX, newY, color[0] + (Math.random() * ck), color[1] + (Math.random() * ck), color[2] + (Math.random() * ck));
+                var color = this.getColor(i, j);
+                this.setColor(newX, newY, color[0] + ( (Math.random() - 0.5) * ck), color[1] + ( (Math.random() - 0.5) * ck), color[2] + ( (Math.random() - 0.5) * ck));
+                this.setColor(i, j, color[0] + ( (Math.random() - 0.5) * ck), color[1] + ( (Math.random() - 0.5) * ck), color[2] + ( (Math.random() - 0.5) * ck));
             } else {
-                var color = [r, g, b];
+                var color = this.getColor(i, j);
 
-                this.setColor(i, j, color[0], color[1], color[2]);
+                this.setColor(i, j, (color[0] < 128) ? color[0] - 50 : color[0] + 50, (color[1] < 128) ? color[1] - 50 : color[1] + 50, (color[2] < 128) ? color[2] - 50 : color[2] + 50);
             }
         }
     }
diff --git a/main.js b/main.js
index a9635b0..5234742 100644 (file)
--- a/main.js
+++ b/main.js
@@ -32,15 +32,18 @@ function pretty(name, ired, igreen, iblue, ringConstant, stainConstant, stainSiz
        // make a beautiful point ring
 
        dynimage.punchWave(width / 2, height / 2, width * stainSize, height * stainSize, Math.floor(stainConstant), width / 3, waveConstant);
+    dynimage.explosion(width, 50, 0.9, 0.5, 100 + (Math.random() * 100));
 
-
-   dynimage.explosion(width, 50, 0.7, 0.7, 0.6, Math.floor(Math.random() * 255), Math.floor(Math.random() * 255), Math.floor(Math.random() * 255));
-       
-    dynimage.character2(width, height);
+       dynimage.character2(width, height);
+    dynimage.explosion(width, 50, 0.9, 0.5, 100 + (Math.random() * 100));
        dynimage.pointRing(width / 2, height / 2, width, ringConstant, intensityConstant);
+    dynimage.explosion(width, 50, 0.9, 0.5, 100 + (Math.random() * 100));
+       dynimage.character2(width, height);
 
-       dynimage.recontrast(contrastThreshold, Math.floor(Math.random() * 60));
+    dynimage.explosion(width, 50, 0.9, 0.5, 100 + (Math.random() * 100));
+    dynimage.recontrast(contrastThreshold, Math.floor(Math.random() * 60));
 
+    dynimage.explosion(width, 50, 0.9, 0.5, 100 + (Math.random() * 100));
 //     dynimage.border(width, height, bred, bgreen, bblue, borderConstant);
 
        var png = new Png(buffer, width, height, 'rgba');
This page took 0.023969 seconds and 4 git commands to generate.