Processingで書道
マウスをゆっくりドラッグすると濃く太い線が,マウスを素早くドラッグすると薄く細い線が書ける.
キーボードのいずれかのキーをクリックすると,画面がクリアされる.
/** * Calligraphy System * * Bold and dark line is drawn by dragging mouse slowly. * Thin and light line is drawn by dragging mouse quickly. * Drawn lines is cleared by clicking any keys. * * @author aa_debdeb * @date 2015/09/10 */ float MAX_WEIGHT = 15.0; float BORDER_SPEED = 100.0; void setup(){ size(500, 500); smooth(); frameRate(60); background(255); } void draw(){ if(keyPressed){ background(255); } else if(mousePressed){ float mouseSpeed = sqrt(sq(mouseX - pmouseX) + sq(mouseY - pmouseY)); drawLine(mouseSpeed); } } void drawLine(float mouseSpeed){ if(mouseSpeed < BORDER_SPEED){ stroke(0, 255.0 * (1.0 - (mouseSpeed / BORDER_SPEED))); strokeWeight(MAX_WEIGHT * (1.0 - (mouseSpeed / BORDER_SPEED))); } else { stroke(0); strokeWeight(MAX_WEIGHT); } line(mouseX, mouseY, pmouseX, pmouseY); }