{"id":2475,"date":"2016-02-11T23:08:33","date_gmt":"2016-02-11T22:08:33","guid":{"rendered":"http:\/\/www.lyceelecorbusier.eu\/p5js\/?p=2475"},"modified":"2016-09-09T17:01:26","modified_gmt":"2016-09-09T16:01:26","slug":"p5-js-p_2_1_2_02","status":"publish","type":"post","link":"https:\/\/www.lyceelecorbusier.eu\/p5js\/?p=2475","title":{"rendered":"\/p5.js \/ P_2_1_2_02"},"content":{"rendered":"<p style=\"text-align: center;\"><!--more--><br \/>\n\n<!-- iframe plugin v.5.1 wordpress.org\/plugins\/iframe\/ -->\n<iframe src=\"http:\/\/lyceelecorbusier.eu\/p5\/generative\/P_2_1_2_02\" width=\"780\" height=\"780\" scrolling=\"yes\" class=\"iframe-class\" frameborder=\"0\"><\/iframe>\n\n<pre style=\"text-align: left;\">\/\/ P_2_1_2_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\/* changing module color and positions in a grid\r\n\u00a0* \u00a0\u00a0 \u00a0 \r\n\u00a0* MOUSE\r\n\u00a0* position x\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : offset x\r\n\u00a0* position y\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : offset y\r\n\u00a0* left click\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : random position\r\n\u00a0* \r\n\u00a0* KEYS\r\n\u00a0* 1-3\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : different sets of colors\r\n\u00a0* 0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : default\r\n\u00a0* arrow up\/down\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : background module size\r\n\u00a0* arrow left\/right\u00a0\u00a0\u00a0 : foreground module size\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* p\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : save pdf\r\n\u00a0*\/\r\n\r\nvar moduleColorBackground = 0;\r\nvar moduleColorForeground = 255;\r\nvar moduleAlphaBackground = 100;\r\nvar moduleAlphaForeground = 100;\r\nvar moduleRadiusBackground = 40;\r\nvar moduleRadiusForeground = 15;\r\nvar backColor = 255;\r\nvar tileCount = 20;\r\nvar actRandomSeed = 0;\r\n\r\nfunction setup(){\r\n\u00a0 createCanvas(780, 780);\r\n\r\n}\r\n\r\nfunction draw() {\r\n\u00a0 push();\r\n\u00a0 translate(width\/tileCount\/2, height\/tileCount\/2);\r\n\u00a0 colorMode(HSB, 360, 100, 100, 100);\r\n\u00a0 background(backColor);\r\n\u00a0 smooth();\r\n\u00a0 noStroke();\r\n\u00a0 randomSeed(actRandomSeed);\r\n\u00a0 for (var gridY=0; gridY&lt;tileCount; gridY++) {\r\n\u00a0\u00a0\u00a0 for (var gridX=0; gridX&lt;tileCount; gridX++) {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 var posX = width\/tileCount * gridX;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 var posY = height\/tileCount * gridY;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 var shiftX =\u00a0 random(-1, 1) * mouseX\/20;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 var shiftY =\u00a0 random(-1, 1) * mouseY\/20;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 fill(moduleColorBackground, moduleAlphaBackground);\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 ellipse(posX+shiftX, posY+shiftY, moduleRadiusBackground, moduleRadiusBackground);\r\n\u00a0\u00a0\u00a0 }\r\n\u00a0 }\r\n\u00a0 for (var gridY=0; gridY&lt;tileCount; gridY++) {\r\n\u00a0\u00a0\u00a0 for (var gridX=0; gridX&lt;tileCount; gridX++) {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 var posX = width\/tileCount * gridX;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 var posY = height\/tileCount * gridY;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 fill(moduleColorForeground, moduleAlphaForeground);\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 ellipse(posX, posY, moduleRadiusForeground, moduleRadiusForeground);\r\n\u00a0\u00a0\u00a0 }\r\n\u00a0 }\r\n\u00a0 pop();\r\n}\r\n\r\nfunction mousePressed() {\r\n\u00a0 actRandomSeed = int(random(100000));\r\n}\r\n\r\nfunction keyTyped(){\r\n\u00a0\u00a0\u00a0 colorMode(HSB, 360, 100, 100, 100);\r\n\u00a0 if (key == 's' || key == 'S') save(\"P_2_1_2_02.png\");\r\n\r\n\u00a0 if (key == '1'){\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 moduleColorBackground = color(273, 73, 51);\r\n\u00a0\u00a0 }\r\n\u00a0 if (key == '2'){\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 moduleColorForeground = color(323, 100, 77);\r\n\u00a0\u00a0\u00a0 }\r\n\u00a0 if (key == '3'){\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 moduleAlphaBackground = 50;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 moduleAlphaForeground = 50;\r\n\u00a0\u00a0 }\r\n\u00a0 if (key == '0'){ \u00a0\r\n\u00a0\u00a0\u00a0 moduleColorBackground = 0;\r\n\u00a0\u00a0\u00a0 moduleColorForeground = 360;\r\n\u00a0\u00a0\u00a0 moduleAlphaBackground = 100;\r\n\u00a0\u00a0\u00a0 moduleAlphaForeground = 100;\r\n\u00a0\u00a0\u00a0 moduleRadiusBackground = 30;\r\n\u00a0\u00a0\u00a0 moduleRadiusForeground = 15;\r\n\u00a0 }\r\n}\r\n\u00a0 \r\nfunction keyPressed(){\r\n\u00a0 if (keyCode == UP_ARROW) moduleRadiusBackground += 2;\r\n\u00a0 if (keyCode == DOWN_ARROW) moduleRadiusBackground = max(moduleRadiusBackground-2, 10);\r\n\u00a0 if (keyCode == LEFT_ARROW) moduleRadiusForeground = max(moduleRadiusForeground-2, 5);\r\n\u00a0 if (keyCode == RIGHT_ARROW) moduleRadiusForeground += 2;\r\n}<\/pre>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":2476,"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\/2475"}],"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=2475"}],"version-history":[{"count":3,"href":"https:\/\/www.lyceelecorbusier.eu\/p5js\/index.php?rest_route=\/wp\/v2\/posts\/2475\/revisions"}],"predecessor-version":[{"id":2512,"href":"https:\/\/www.lyceelecorbusier.eu\/p5js\/index.php?rest_route=\/wp\/v2\/posts\/2475\/revisions\/2512"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lyceelecorbusier.eu\/p5js\/index.php?rest_route=\/wp\/v2\/media\/2476"}],"wp:attachment":[{"href":"https:\/\/www.lyceelecorbusier.eu\/p5js\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2475"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lyceelecorbusier.eu\/p5js\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2475"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lyceelecorbusier.eu\/p5js\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2475"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}