Processingで円グラフを描く
半円の向きをランダムにしてくっつけて、1つの円にしようと思っていろいろやってたら、円グラフを描くやり方が公式で解説されていた
PieChart \ Examples \ Processing.org
のでそちらを参考にしました。
こんな感じです。半円の角度と色がマウスボタンを押すごとに変わります。
レーザーカッターで円形にくり抜いてカラフルなコースター的なものを作ろうとしてたのですが、配色を考えるのがめんどくなったのでProcessingで書きました。
//円グラフのデータ int[] angles = {180, 180}; void setup() { size(600, 600); background(#FFFFFF); noStroke(); noLoop(); colorMode(HSB,360,100,100); } void draw() { pieChart(150,150,100, angles); } void pieChart(int posiX,int posiY,float diameter, int[] data) { //3列×3列 for(int n = 0; n < 3; n++) { for(int j = 0; j < 3; j++) { //境界線の角度 float lastAngle = random(360); for (int i = 0; i < data.length; i++) { fill(int(random(360)),30,100); //実際の円グラフ arc(100+posiX*n, 100+posiY*j, diameter, diameter, lastAngle, lastAngle+radians(data[i])); lastAngle += radians(data[i]); } } } } void mousePressed() { redraw(); }