From cd1e3422410c01a09323ac6d0ed803ac7c2fee25 Mon Sep 17 00:00:00 2001 From: Duncan Date: Tue, 9 Dec 2014 19:57:33 +0200 Subject: [PATCH 1/4] Added pentagons. Added an NSlider. Added stats. The automatic now supports three shapes. In addition we created the nslider.js. This is a hack of doubleslider to allow for n sliders. The number of pieces is determined by the number of area's given in the config. The average bored(meh) ratio and average shaking(sad) ratio are now also graphed. (In yellow and blue respectively.) We broke the segregation measure. Insteasd of s = (avg-0.5)*2. It is now s = avg. We did not understand how the computation would change with three shapes, so we used the raw average. As a random side note: the code is beautiful. Easy to read, easy to hack., simple, logical. Thank you. --- play/automatic/automatic.css | 14 +- play/automatic/automatic.html | 15 ++- play/automatic/automatic.js | 76 +++++++++-- play/automatic/automatic2.html | 12 +- play/automatic/automatic3.html | 6 +- play/automatic/automatic4.html | 6 +- play/automatic/automatic_sandbox.html | 29 +++-- play/automatic/ds_happy_blink.png | Bin 0 -> 609 bytes play/automatic/ds_meh.png | Bin 0 -> 490 bytes play/automatic/nslider.js | 176 ++++++++++++++++++++++++++ play/img/base_pentagon.png | Bin 0 -> 2487 bytes play/img/meh_pentagon.png | Bin 0 -> 3408 bytes play/img/sad_pentagon.png | Bin 0 -> 2954 bytes play/img/yay_pentagon.png | Bin 0 -> 2930 bytes play/img/yay_pentagon_blink.png | Bin 0 -> 3638 bytes 15 files changed, 302 insertions(+), 32 deletions(-) create mode 100644 play/automatic/ds_happy_blink.png create mode 100644 play/automatic/ds_meh.png create mode 100644 play/automatic/nslider.js create mode 100644 play/img/base_pentagon.png create mode 100644 play/img/meh_pentagon.png create mode 100644 play/img/sad_pentagon.png create mode 100644 play/img/yay_pentagon.png create mode 100644 play/img/yay_pentagon_blink.png diff --git a/play/automatic/automatic.css b/play/automatic/automatic.css index 30a549b8..74f0d637 100644 --- a/play/automatic/automatic.css +++ b/play/automatic/automatic.css @@ -35,11 +35,21 @@ div{ font-size: 16px; text-align: center; } -#stats_text{ +#segregation_text{ position: absolute; color:#cc2727; font-size: 20px; } +#sad_text{ + position: absolute; + color:#2727cc; + font-size: 20px; +} +#meh_text{ + position: absolute; + color:#cccc27; + font-size: 20px; +} #stats_canvas_container{ background:url(../img/stats.png); width:400px; height:300px; @@ -88,4 +98,4 @@ div{ span.highlight{ color:#cc2727; -} \ No newline at end of file +} diff --git a/play/automatic/automatic.html b/play/automatic/automatic.html index 024422c0..1e06b492 100644 --- a/play/automatic/automatic.html +++ b/play/automatic/automatic.html @@ -11,7 +11,9 @@
-
+
+
+
@@ -22,4 +24,13 @@ - \ No newline at end of file + + diff --git a/play/automatic/automatic.js b/play/automatic/automatic.js index 804fb0d0..3a39846e 100644 --- a/play/automatic/automatic.js +++ b/play/automatic/automatic.js @@ -13,9 +13,10 @@ var DIAGONAL_SQUARED = (TILE_SIZE+5)*(TILE_SIZE+5) + (TILE_SIZE+5)*(TILE_SIZE+5) -window.RATIO_TRIANGLES = 0.5; -window.RATIO_SQUARES = 0.5; -window.EMPTINESS = 0.2; +window.RATIO_TRIANGLES = 0.25; +window.RATIO_SQUARES = 0.25; +window.RATIO_PENTAGONS = 0.25; +window.EMPTINESS = 0.25; var assetsLeft = 0; @@ -36,6 +37,9 @@ addAsset("sadTriangle","../img/sad_triangle.png"); addAsset("yaySquare","../img/yay_square.png"); addAsset("mehSquare","../img/meh_square.png"); addAsset("sadSquare","../img/sad_square.png"); +addAsset("yayPentagon","../img/yay_pentagon.png"); +addAsset("mehPentagon","../img/meh_pentagon.png"); +addAsset("sadPentagon","../img/sad_pentagon.png"); var IS_PICKING_UP = false; var lastMouseX, lastMouseY; @@ -196,7 +200,7 @@ function Draggable(x,y){ }else{ img = images.yayTriangle; } - }else{ + }else if(self.color=="square"){ if(self.shaking){ img = images.sadSquare; }else if(self.bored){ @@ -204,7 +208,15 @@ function Draggable(x,y){ }else{ img = images.yaySquare; } - } + }else{ + if(self.shaking){ + img = images.sadPentagon; + }else if(self.bored){ + img = images.mehPentagon; + }else{ + img = images.yayPentagon; + } + } // Dangle if(self.dragged){ @@ -238,9 +250,16 @@ window.reset = function(){ draggables = []; for(var x=0;x SEGREGATION var segregation = (avg-0.5)*2; + var segregation = avg; if(segregation<0) segregation=0; // Graph it @@ -352,11 +385,30 @@ window.writeStats = function(){ var x = STATS.steps - STATS.offset; var y = 250 - segregation*250+10; stats_ctx.fillRect(x,y,1,5); + // Text + segregation_text.innerHTML = Math.floor(segregation*100)+"%"; + segregation_text.style.top = Math.round(y-15)+"px"; + segregation_text.style.left = Math.round(x+35)+"px"; + stats_ctx.fillStyle = "#2727cc"; + y = 250 - avg_shake*250+10; + stats_ctx.fillRect(x,y,1,5); // Text - stats_text.innerHTML = Math.floor(segregation*100)+"%"; - stats_text.style.top = Math.round(y-15)+"px"; - stats_text.style.left = Math.round(x+35)+"px"; + if(shaking_text){ + shaking_text.innerHTML = Math.floor(avg_shake*100)+"%"; + shaking_text.style.top = Math.round(y-15)+"px"; + shaking_text.style.left = Math.round(x+35)+"px"; + } + + stats_ctx.fillStyle = "#cccc27"; + y = 250 - avg_bored*250+10; + stats_ctx.fillRect(x,y,1,5); + // Text + if(bored_text){ + bored_text.innerHTML = Math.floor(avg_bored*100)+"%"; + bored_text.style.top = Math.round(y-15)+"px"; + bored_text.style.left = Math.round(x+35)+"px"; + } // Button if(START_SIM){ @@ -445,4 +497,4 @@ window.IS_IN_SIGHT = false; window.onload=function(){ reset(); -} \ No newline at end of file +} diff --git a/play/automatic/automatic2.html b/play/automatic/automatic2.html index ede4d72e..28b93f1a 100644 --- a/play/automatic/automatic2.html +++ b/play/automatic/automatic2.html @@ -12,7 +12,9 @@
-
+
+
+
i'll move if less than 33% of my neighbors are like me @@ -59,4 +61,10 @@ window.IS_IN_SIGHT = true; - \ No newline at end of file +window.RATIO_TRIANGLES = 0.4; +window.RATIO_SQUARES = 0.4; +window.RATIO_PENTAGONS = 0.0; +window.EMPTINESS = 0.4; + +window.reset(); + diff --git a/play/automatic/automatic3.html b/play/automatic/automatic3.html index 9b7dc18c..eecb6eda 100644 --- a/play/automatic/automatic3.html +++ b/play/automatic/automatic3.html @@ -12,7 +12,9 @@
-
+
+
+
i'll move if less than 33% of my neighbors are like me @@ -55,4 +57,4 @@ } }); - \ No newline at end of file + diff --git a/play/automatic/automatic4.html b/play/automatic/automatic4.html index 46a2bd74..69d50d5e 100644 --- a/play/automatic/automatic4.html +++ b/play/automatic/automatic4.html @@ -12,7 +12,9 @@
-
+
+
+
i'll move if <33% @@ -59,4 +61,4 @@ } }); - \ No newline at end of file + diff --git a/play/automatic/automatic_sandbox.html b/play/automatic/automatic_sandbox.html index 35364cf1..a8900463 100644 --- a/play/automatic/automatic_sandbox.html +++ b/play/automatic/automatic_sandbox.html @@ -17,7 +17,9 @@
-
+
+
+
i'll move if <33% @@ -26,10 +28,12 @@

- the triangle:square ratio is - 40:40, + the triangle:square:pentagon ratio is + + 25:25:25 + , board is - 20% empty + 25% empty

@@ -45,6 +49,7 @@ + \ No newline at end of file + diff --git a/play/automatic/ds_happy_blink.png b/play/automatic/ds_happy_blink.png new file mode 100644 index 0000000000000000000000000000000000000000..6a862f06df045b3dc3e24278e42f4ef585786783 GIT binary patch literal 609 zcmV-n0-pVeP)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00GHKL_t(&-tCvcO2a@9hQHda zco4zbTJTuGR}u8!(HHd62k_vdD0uNAG}4OKM(gEY7?+JnXtWCRL0Fn@H}lW@Go;`+ zj^j9v<2a799eO|jhFT*fu+aK1h$60mvAO>W+yTqXZ~mmnplb}As6qh8z^EeF0+>lm ztmM|kg~Vo&0WfJ%$tbP>)-B!8Nh0DQMMg~3Lwn|4tYn&$CR8P&pXu3JTL*nHs|n-~ zIM+JYLBWV0=(_?~wMb%`hyYB13!Rse>)jGqq!p>6&}D6KoMiXh>|3{-oIR7U3*Zdc z&FszfZUM|BKoD(v%O_Jjt#8`}6f6}wQGM>_lnxKtpI z-!yKt&t=9wOJj3u=Q_8PVS|bHu0viVA_jN`+$t#BoN-``C1R=!mu9cExwZ3ml)$3b z!T3H^@TdB`GQr#Cj2RwDP_)$?xB(tAmTVf|dQ&0Mx6?$7?X9#TgCv{x64G`^e4*cg zkPqNZnH?&aJzz)Y?*j)~`$P9b(T@k0uxIvRHWx1l^l>1d7_HFvGrb%ss vue*BiPyIb;JI)=)aU92S9LI4Srvp9#6Cr`~tT#I=00000NkvXXu0mjf9=Qnz literal 0 HcmV?d00001 diff --git a/play/automatic/ds_meh.png b/play/automatic/ds_meh.png new file mode 100644 index 0000000000000000000000000000000000000000..4f7352a0610a001f35a7ad5726832ae74a59bc64 GIT binary patch literal 490 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2nC-wj^(N7a$D;Kb?2i11Zh|kH}&M z25w;xW@MN(M*=9wUgGKN%6^ZBQ&7;vcw+W6ppayVYeb22er|4RUI~M9QEFmIYKlU6 zW=V#EyQgnJcq5-U0|R4_r;B4q#=W=G_xc?+5NX|S_Kt1K1lg76FE&p6&U&!Jp^2Sw zo7ci6+}=tX?|4mn{O7`@Yg5l{w=ZdVvN znK7+vU^QU9cEI=pXUIyf!p4s52W%&NTQS6mez;!-&GRAiS$)!u%*ooyc*%T?EBpBs61 zZPV}kUHf(7HksDY=#q%_z8cXHwb_c!a&ZwyH`#NASHtT~J%~f4L(l6o5hD c^6C#$?8h*1?)&$T0Hc7x)78&qol`;+09~oTNdN!< literal 0 HcmV?d00001 diff --git a/play/automatic/nslider.js b/play/automatic/nslider.js new file mode 100644 index 00000000..c8cc1825 --- /dev/null +++ b/play/automatic/nslider.js @@ -0,0 +1,176 @@ +/*** + +new DoubleSlider(dom,{ + + backgrounds:[ + {color:"#cc2727"}, + {color:"#bada55"}, + {color:"#2095dc"} + ], + + values:[0.1,0.9] + +}); + +***/ +function NSlider(dom,config){ + + var self = this; + self.dom = dom; + self.backgrounds = []; + self.sliders = []; + self.values = config.values; + + self.draggingSliderDOM = null; + self.draggingSliderIndex = -1; + + self.sliderCount = config.backgrounds.length; + + // Create DOM + self.dom.className = "ds"; + for(var i=1;i<=self.sliderCount;i++){ + + var dom = document.createElement("div"); + dom.className = "ds_bg"; + self.dom.appendChild(dom); + self.backgrounds[self.sliderCount-i] = dom; + + // CSS + dom.style.backgroundColor = config.backgrounds[self.sliderCount-i].color; + dom.style.backgroundImage = "url("+config.backgrounds[self.sliderCount-i].icon+")"; + if(i==0) dom.style.width = "100%"; + + } + for(var i=0;i<(self.sliderCount-1);i++){ + + var dom = document.createElement("div"); + dom.className = "ds_slider"; + self.dom.appendChild(dom); + self.sliders.push(dom); + + // Events + (function(dom,i,self){ + dom.onmousedown = function(){ + self.draggingSliderDOM = dom; + self.draggingSliderIndex = i; + }; + })(dom,i,self); + + } + + // Slider logic + function onMouseMove(x){ + if(self.draggingSliderDOM){ + var val = x/400; + + var index = self.draggingSliderIndex; + var sliderWidth = 0;//0.025; + var edge_l = 0; + var edge_h = 1; + if(index==0){ + edge_l = sliderWidth/2; + edge_h = self.values[index+1]-sliderWidth; + }else if(index==(self.sliderCount-1)){ + edge_l = self.values[index-1]+sliderWidth; + edge_h = 1-sliderWidth/2; + }else{ + edge_l = self.values[index-1]+sliderWidth; + edge_h = self.values[index+1]-sliderWidth; + } + if(val>edge_h){ + val=edge_h; + }else if(val 0) curtop -= parseInt(obj.scrollTop); + if(obj.offsetParent) { + var pos = findPos(obj.offsetParent); + curleft += pos[0]; + curtop += pos[1]; + }/* else if(obj.ownerDocument) { + var thewindow = obj.ownerDocument.defaultView; + if(!thewindow && obj.ownerDocument.parentWindow) + thewindow = obj.ownerDocument.parentWindow; + if(thewindow) { + if(thewindow.frameElement) { + var pos = findPos(thewindow.frameElement); + curleft += pos[0]; + curtop += pos[1]; + } + } + }*/ + + return [curleft,curtop]; +} diff --git a/play/img/base_pentagon.png b/play/img/base_pentagon.png new file mode 100644 index 0000000000000000000000000000000000000000..1899b7bbadfdf494e193ac13b1ece95c686affff GIT binary patch literal 2487 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 Bzm5O^ literal 0 HcmV?d00001 diff --git a/play/img/meh_pentagon.png b/play/img/meh_pentagon.png new file mode 100644 index 0000000000000000000000000000000000000000..4618486a6247b818d05a76ebe01ba1303b4a9ecf GIT binary patch literal 3408 zcmV-W4X^TvP)IwJjUuF9hLZtdu|!k{Oh7FoHCV+qAvtP23?dx#{5EV0&^A z{|DhehMZjFa)NJ-4Gyl2og5_&}z@=g;ugH?Mf?Y zwUUh984X6ZKK4B4J?Hm6=j<-fh(7y+;w*IK#M!yVr0$Uzq;l-~&9m5k=n1QrwM#=x_C`

*=z3dB~)(h9IutZK}QqWk26}BnYkDm-&BJUl6Ll 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 Aw*UYD literal 0 HcmV?d00001 diff --git a/play/img/yay_pentagon.png b/play/img/yay_pentagon.png new file mode 100644 index 0000000000000000000000000000000000000000..9a7ac73d338aa8a0dd2d33ab8cfc2a6002b6236a GIT binary patch literal 2930 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 literal 0 HcmV?d00001 diff --git a/play/img/yay_pentagon_blink.png b/play/img/yay_pentagon_blink.png new file mode 100644 index 0000000000000000000000000000000000000000..ea021e2e4cacf69f22c64d955657adcff5c52ab7 GIT binary patch literal 3638 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 IM6N<$g7SvojQ{`u literal 0 HcmV?d00001 From 2ac051d407045b6fa3119fd04ee8cd971ade1527 Mon Sep 17 00:00:00 2001 From: Duncan Date: Tue, 9 Dec 2014 20:33:15 +0200 Subject: [PATCH 2/4] Changed readme. --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index f6e1ac45..db35deb9 100644 --- a/README.md +++ b/README.md @@ -15,4 +15,8 @@ We are [Vi Hart](http://vihart.com/) and [Nicky Case](http://ncase.me/). Show us how you're using and remixing Parable of the Polygons! Tweet us at [@vihartvihart](https://twitter.com/vihartvihart) and -[@ncasenmare](https://twitter.com/ncasenmare). \ No newline at end of file +[@ncasenmare](https://twitter.com/ncasenmare). + +--- + +This fork adds pentagons in the style shown in the picture at the bottom. From f7a3dcec81ead96e720fc367bd765324aa2ee3df Mon Sep 17 00:00:00 2001 From: Duncan Date: Tue, 9 Dec 2014 20:35:59 +0200 Subject: [PATCH 3/4] Added the pentagon to the readme. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index db35deb9..3fef5453 100644 --- a/README.md +++ b/README.md @@ -20,3 +20,4 @@ Tweet us at --- This fork adds pentagons in the style shown in the picture at the bottom. +![](./play/img/yay_penagon.png) From e8235cdd6136a0e4884c32be8e6cbeb091a10ad3 Mon Sep 17 00:00:00 2001 From: Duncan Date: Tue, 9 Dec 2014 20:49:07 +0200 Subject: [PATCH 4/4] Updated the readme. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3fef5453..2b3db4dd 100644 --- a/README.md +++ b/README.md @@ -20,4 +20,4 @@ Tweet us at --- This fork adds pentagons in the style shown in the picture at the bottom. -![](./play/img/yay_penagon.png) +![](./play/img/yay_pentagon.png)