{"id":2440,"date":"2016-02-11T14:37:39","date_gmt":"2016-02-11T13:37:39","guid":{"rendered":"http:\/\/www.lyceelecorbusier.eu\/p5js\/?p=2440"},"modified":"2016-09-09T17:01:27","modified_gmt":"2016-09-09T16:01:27","slug":"p5-js-p_1_2_3_02","status":"publish","type":"post","link":"https:\/\/www.lyceelecorbusier.eu\/p5js\/?p=2440","title":{"rendered":"\/p5.js \/ P_1_2_3_02"},"content":{"rendered":"<p style=\"text-align: center;\"><!--more--><\/p>\n<p style=\"text-align: center;\">\n<!-- iframe plugin v.5.1 wordpress.org\/plugins\/iframe\/ -->\n<iframe src=\"http:\/\/lyceelecorbusier.eu\/p5\/generative\/P_1_2_3_02\" width=\"780\" height=\"780\" scrolling=\"yes\" class=\"iframe-class\" frameborder=\"0\"><\/iframe>\n\n<p style=\"text-align: left;\">Cliquez pour cr\u00e9er une nouvelle composition.<br \/>\nTouche &#8220;s&#8221; pour cr\u00e9er un png.<\/p>\n<pre>\/\/ P_1_2_3_02\r\n \/\/\r\n \/\/ Generative Gestaltung, ISBN: 978-3-87439-759-9\r\n \/\/ First Edition, Hermann Schmidt, Mainz, 2009\r\n \/\/ Hartmut Bohnacker, Benedikt Gross, Julia Laub, Claudius Lazzeroni\r\n \/\/ Copyright 2009 Hartmut Bohnacker, Benedikt Gross, Julia Laub, Claudius Lazzeroni\r\n \/\/\r\n \/\/ http:\/\/www.generative-gestaltung.de\r\n \/\/\r\n \/\/ Licensed under the Apache License, Version 2.0 (the \"License\");\r\n \/\/ you may not use this file except in compliance with the License.\r\n \/\/ You may obtain a copy of the License at http:\/\/www.apache.org\/licenses\/LICENSE-2.0\r\n \/\/ Unless required by applicable law or agreed to in writing, software\r\n \/\/ distributed under the License is distributed on an \"AS IS\" BASIS,\r\n \/\/ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n \/\/ See the License for the specific language governing permissions and\r\n \/\/ limitations under the License.\r\n\/**\r\n\u00a0* generates a specific color palette and some random \"rect-tilings\"\r\n\u00a0* \r\n\u00a0* MOUSE\r\n\u00a0* left click\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : new composition\r\n\u00a0* \r\n\u00a0* KEYS\r\n\u00a0* s\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : save png\r\n\u00a0*\/\r\n\r\nvar colorCount = 20;\r\nvar hueValues =[];\r\nvar saturationValues = [];\r\nvar brightnessValues = []\r\n\r\nfunction setup() {\r\n\u00a0createCanvas(780,780); \r\n\u00a0 colorMode(HSB,360,100,100,100);\r\n\u00a0 noStroke();\r\n}\r\n\r\nfunction draw() { \r\n\r\n\u00a0 \/\/ ------ colors ------\r\n\u00a0 \/\/ create palette\r\n\u00a0 for (var i=0; i&lt;colorCount; i++) {\r\n\u00a0\u00a0\u00a0 if (i%2 == 0) {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 hueValues[i] = int(random(0,360));\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 saturationValues[i] = 100;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 brightnessValues[i] = int(random(0,100));\r\n\u00a0\u00a0\u00a0 } \r\n\u00a0\u00a0\u00a0 else {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 hueValues[i] = 195;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 saturationValues[i] = int(random(0,100));\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 brightnessValues[i] = 100;\r\n\u00a0\u00a0\u00a0 }\r\n\u00a0 }\r\n\r\n\u00a0 \/\/ ------ area tiling ------\r\n\u00a0 \/\/ count tiles\r\n\u00a0 var counter = 0;\r\n\u00a0 \/\/ row count and row height\r\n\u00a0 var rowCount = int(random(5,40));\r\n\u00a0 var rowHeight = height\/rowCount;\r\n\r\n\u00a0 for(var i=0; i&lt;rowCount; i++) {\r\n\u00a0\u00a0\u00a0 \/\/ seperate each line in parts \u00a0\r\n\u00a0\u00a0\u00a0 \/\/ how many fragments\r\n\u00a0\u00a0\u00a0 var partCount = i+1;\r\n\r\n\u00a0\u00a0\u00a0 var parts = [0];\r\n\r\n\u00a0\u00a0\u00a0 for(var ii=0; ii&lt;partCount; ii++) {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/ sub fragments or not?\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 if (random(1.0) &lt; 0.075) {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/ take care of big values\u00a0\u00a0\u00a0\u00a0 \u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 var fragments = int(random(2,20));\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 partCount = partCount + fragments; \r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 for(var iii=0; iii&lt;fragments; iii++) {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 parts = append(parts, random(2));\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 }\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 } \u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 else {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 var\u00a0 parts = append(parts, random(2,20));\u00a0 \u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 }\r\n\u00a0\u00a0\u00a0 }\r\n\r\n\u00a0\u00a0\u00a0 \/\/ add all subparts\r\n\u00a0\u00a0\u00a0 var sumPartsTotal = 0;\r\n\u00a0\u00a0\u00a0 for(var ii=0; ii&lt;partCount; ii++) sumPartsTotal += parts[ii];\r\n\r\n\u00a0\u00a0\u00a0 \/\/ draw rects\r\n\u00a0\u00a0\u00a0 var sumPartsNow = 0;\r\n\u00a0\u00a0\u00a0 for(var ii=0; ii&lt;parts.length; ii++) {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/ get component color values\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 var index = counter % colorCount;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 fill(hueValues[index],saturationValues[index],brightnessValues[index]);\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 sumPartsNow += parts[ii];\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 rect(map(sumPartsNow, 0,sumPartsTotal, 0,width),rowHeight*i, \r\n\u00a0\u00a0\u00a0\u00a0\u00a0 map(parts[ii], 0,sumPartsTotal, 0,width)*-1,rowHeight);\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 counter++;\r\n\u00a0\u00a0\u00a0 }\r\n\u00a0 } \u00a0\r\n\u00a0 noLoop();\r\n} \r\n\r\nfunction mouseReleased() {\r\n\u00a0 loop();\r\n}\r\n\r\nfunction keyTyped() { \u00a0\r\n\u00a0 if (key == 's' || key == 'S') save(\"P_1_2_3_02.png\");\r\n}<\/pre>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":2444,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[10,6],"tags":[],"_links":{"self":[{"href":"https:\/\/www.lyceelecorbusier.eu\/p5js\/index.php?rest_route=\/wp\/v2\/posts\/2440"}],"collection":[{"href":"https:\/\/www.lyceelecorbusier.eu\/p5js\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lyceelecorbusier.eu\/p5js\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lyceelecorbusier.eu\/p5js\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lyceelecorbusier.eu\/p5js\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2440"}],"version-history":[{"count":6,"href":"https:\/\/www.lyceelecorbusier.eu\/p5js\/index.php?rest_route=\/wp\/v2\/posts\/2440\/revisions"}],"predecessor-version":[{"id":2498,"href":"https:\/\/www.lyceelecorbusier.eu\/p5js\/index.php?rest_route=\/wp\/v2\/posts\/2440\/revisions\/2498"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lyceelecorbusier.eu\/p5js\/index.php?rest_route=\/wp\/v2\/media\/2444"}],"wp:attachment":[{"href":"https:\/\/www.lyceelecorbusier.eu\/p5js\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2440"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lyceelecorbusier.eu\/p5js\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2440"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lyceelecorbusier.eu\/p5js\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2440"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}