{"id":2454,"date":"2016-02-11T15:20:25","date_gmt":"2016-02-11T14:20:25","guid":{"rendered":"http:\/\/www.lyceelecorbusier.eu\/p5js\/?p=2454"},"modified":"2016-09-09T17:01:26","modified_gmt":"2016-09-09T16:01:26","slug":"p5-js-p_2_0_03","status":"publish","type":"post","link":"https:\/\/www.lyceelecorbusier.eu\/p5js\/?p=2454","title":{"rendered":"\/ p5.js \/ P_2_0_03"},"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_0_03\" width=\"780\" height=\"780\" style=\"border: 1px solid #ddd;\" scrolling=\"yes\" class=\"iframe-class\" frameborder=\"0\"><\/iframe>\n\n<p style=\"text-align: left;\">Cliquer pour dessiner des formes avec la souris<br \/>\nD\u00e9placer la souris en x modifie la longueur<br \/>\nD\u00e9placer la souris en y modifie l&#8217;\u00e9paisseur et le nombre de segments<\/p>\n<p>Les touches 1 \u00e0 3 permettent de modifier la couleur.<br \/>\nLes touches SUPPR &amp; RETOUR ARRI\u00c8RE effacent l&#8217;esquisse<br \/>\nLa touche &#8220;s&#8221; permet de sauvegarder un fichier &#8220;png&#8221;<\/p>\n<pre style=\"text-align: left;\">\/\/ P_2_0_03\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* drawing with a changing shape by draging the mouse.\r\n\u00a0* \u00a0\u00a0 \u00a0 \r\n\u00a0* MOUSE\r\n\u00a0* position x\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : length\r\n\u00a0* position y\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : thickness and number of lines\r\n\u00a0* drag\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : draw\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 : stroke color\r\n\u00a0* del, backspace\u00a0\u00a0\u00a0\u00a0\u00a0 : erase\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 \u00e9tat = 0\r\n\r\nfunction setup(){\r\n\u00a0 createCanvas(780, 780);\r\n\u00a0 colorMode(HSB, 360, 100, 100, 100);\r\n\u00a0 smooth();\r\n\u00a0 noFill();\r\n\u00a0 background(360);\r\n}\r\n\r\nfunction draw(){\r\n\u00a0 if(mouseIsPressed){\r\n\u00a0\u00a0\u00a0 if (\u00e9tat == 0){\r\n\u00a0\u00a0\u00a0 push();\r\n\u00a0\u00a0\u00a0 translate(width\/2,height\/2);\r\n\u00a0\u00a0\u00a0 var circleResolution = int(map(mouseY+100,0,height,2, 10));\r\n\u00a0\u00a0\u00a0 var radius = mouseX-width\/2;\r\n\u00a0\u00a0\u00a0 var angle = float(TWO_PI\/circleResolution);\r\n\u00a0\u00a0\u00a0 var strokeColor = color(192, 100, 64, 10);\r\n\u00a0\u00a0\u00a0 strokeWeight(2);\r\n\u00a0\u00a0\u00a0 stroke(strokeColor);\r\n\u00a0\u00a0\u00a0 beginShape();\r\n\u00a0\u00a0\u00a0 for (var i=0; i&lt;=circleResolution; i++){\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 var x = float(0 + cos(angle*i) * radius);\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 var y = float(0 + sin(angle*i) * radius);\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 vertex(x, y);\r\n\u00a0\u00a0\u00a0 }\r\n\u00a0\u00a0\u00a0 endShape();\r\n\u00a0\u00a0\u00a0 pop();\r\n\u00a0 }\r\n\u00a0 }\r\n\u00a0\u00a0\u00a0 if(mouseIsPressed){\r\n\u00a0\u00a0\u00a0 if (\u00e9tat == 1){\r\n\u00a0\u00a0\u00a0 push();\r\n\u00a0\u00a0\u00a0 translate(width\/2,height\/2);\r\n\u00a0\u00a0\u00a0 var circleResolution = int(map(mouseY+100,0,height,2, 10));\r\n\u00a0\u00a0\u00a0 var radius = mouseX-width\/2;\r\n\u00a0\u00a0\u00a0 var angle = float(TWO_PI\/circleResolution);\r\n\u00a0\u00a0\u00a0 var strokeColor = color(0, 10);\r\n\u00a0\u00a0\u00a0 strokeWeight(2);\r\n\u00a0\u00a0\u00a0 stroke(strokeColor);\r\n\u00a0\u00a0\u00a0 beginShape();\r\n\u00a0\u00a0\u00a0 for (var i=0; i&lt;=circleResolution; i++){\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 var x = float(0 + cos(angle*i) * radius);\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 var y = float(0 + sin(angle*i) * radius);\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 vertex(x, y);\r\n\u00a0\u00a0\u00a0 }\r\n\u00a0\u00a0\u00a0 endShape();\r\n\u00a0\u00a0\u00a0 pop();\r\n\u00a0 }\r\n\u00a0 }\r\n\u00a0\u00a0\u00a0 if(mouseIsPressed){\r\n\u00a0\u00a0\u00a0 if (\u00e9tat == 2){\r\n\u00a0\u00a0\u00a0 push();\r\n\u00a0\u00a0\u00a0 translate(width\/2,height\/2);\r\n\u00a0\u00a0\u00a0 var circleResolution = int(map(mouseY+100,0,height,2, 10));\r\n\u00a0\u00a0\u00a0 var radius = mouseX-width\/2;\r\n\u00a0\u00a0\u00a0 var angle = float(TWO_PI\/circleResolution);\r\n\u00a0\u00a0\u00a0 var strokeColor = color(52, 100, 71, 10);\r\n\u00a0\u00a0\u00a0 strokeWeight(2);\r\n\u00a0\u00a0\u00a0 stroke(strokeColor);\r\n\u00a0\u00a0\u00a0 beginShape();\r\n\u00a0\u00a0\u00a0 for (var i=0; i&lt;=circleResolution; i++){\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 var x = float(0 + cos(angle*i) * radius);\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 var y = float(0 + sin(angle*i) * radius);\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 vertex(x, y);\r\n\u00a0\u00a0\u00a0 }\r\n\u00a0\u00a0\u00a0 endShape();\r\n\u00a0\u00a0\u00a0 pop();\r\n\u00a0 }\r\n\u00a0}\r\n}\r\n\r\nfunction keyPressed(){\r\n\u00a0 if (keyCode == DELETE || keyCode == BACKSPACE){\r\n\u00a0\u00a0\u00a0 background(360);\r\n\u00a0 }\r\n}\r\n\r\nfunction keyTyped(){\r\n\u00a0 if (key=='s' || key=='S') save(\"P_2_0_03.png\");\r\n\u00a0 if (key == \"1\"){\r\n\u00a0\u00a0\u00a0 \u00e9tat = 0;\r\n}\r\n\u00a0 if (key == \"2\"){\r\n\u00a0\u00a0\u00a0\u00a0 \u00e9tat = 1;\r\n}\r\n\u00a0 if (key == \"3\"){\r\n\u00a0\u00a0\u00a0\u00a0 \u00e9tat = 2;\r\n}\r\n}<\/pre>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":2455,"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\/2454"}],"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=2454"}],"version-history":[{"count":11,"href":"https:\/\/www.lyceelecorbusier.eu\/p5js\/index.php?rest_route=\/wp\/v2\/posts\/2454\/revisions"}],"predecessor-version":[{"id":2517,"href":"https:\/\/www.lyceelecorbusier.eu\/p5js\/index.php?rest_route=\/wp\/v2\/posts\/2454\/revisions\/2517"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lyceelecorbusier.eu\/p5js\/index.php?rest_route=\/wp\/v2\/media\/2455"}],"wp:attachment":[{"href":"https:\/\/www.lyceelecorbusier.eu\/p5js\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2454"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lyceelecorbusier.eu\/p5js\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2454"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lyceelecorbusier.eu\/p5js\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2454"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}