Touches 1 à 5 : modifier le nombre de segments
Touches « s » : sauvegarder une image au format png
// P_1_1_2_01 // Generative Gestaltung, ISBN: 978-3-87439-759-9 // First Edition, Hermann Schmidt, Mainz, 2009 // Hartmut Bohnacker, Benedikt Gross, Julia Laub, Claudius Lazzeroni // Copyright 2009 Hartmut Bohnacker, Benedikt Gross, Julia Laub, Claudius Lazzeroni // // http://www.generative-gestaltung.de // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. /** * changing the color circle by moving the mouse. * * MOUSE * position x : saturation * position y : brighness * * KEYS * 1-5 : number of segments * s : save png */ var segmentCount = 360; var radius = 300; function setup(){ createCanvas(710, 710); } function draw(){ noStroke(); colorMode(HSB, 360, 100, 100); background(0,0,100); colorMode(HSB, 360, width, height); var angleStep = 360/segmentCount; beginShape(TRIANGLE_FAN); vertex(width/2, height/2); for (var angle=0; angle<=360; angle+=angleStep){ var vx = width/2 + cos(radians(angle))*radius; var vy = height/2 + sin(radians(angle))*radius; vertex(vx, vy); fill(angle, mouseX, mouseY); } endShape(); } function keyTyped(){ if (key=='s' || key=='S') save("P_1_1_2_01.png"); switch(key){ case '1': segmentCount = 360; break; case '2': segmentCount = 45; break; case '3': segmentCount = 24; break; case '4': segmentCount = 12; break; case '5': segmentCount = 6; break; } }