ぴぽのたわごと

ジャンル問わず。自由気ままに書いてます。

【Processing】円を描く。

*Processing 3.0以上での動作になります

丸や楕円を描くには次の関数を用います。

ellipse(基準のx座標, 基準のy座標, 横幅, 縦幅)

例えばこんな感じです。

void setup(){
   // 画面サイズ
   size(300, 300);
}

void draw(){
   // (100, 100)を基準に横幅50 縦幅80の円を描く
   ellipse(100, 100, 50, 80);
}

f:id:pipoblog:20171204174240p:plain:w300

円の描き方を変更するには

ellipseMode(mode)

mode... CENTER, RADIUS, CORNER, CORNERS

を用います。

CENTER: 1,2つ目の引数で中心座標、3,4つ目で横幅,縦幅を指定します。標準の描き方。

RADIUS: 1,2つ目の引数で中心座標、3,4つ目の引数で横,縦の半径を指定します。

CORNER: 1,2つ目の引数で左上座標(丸を囲う四角の)、3,4つ目で横幅,縦幅を指定します。

CORNERS: 1,2つ目の引数で左上座標(丸を囲う四角の)、3,4つ目の引数で対になる角の座標を指定します。

例です。(画面サイズ300)

// 白い円
fill(255);
ellipseMode(RADIUS);
ellipse(100, 100, 80, 80);

// 黒い円
fill(100);
ellipseMode(CENTER);
ellipse(100, 100, 80, 80);

f:id:pipoblog:20171204180117p:plain:w300

// 白い丸
fill(255);
ellipseMode(CORNER);
ellipse(50, 50, 150, 150);

// 黒い丸
fill(100);
ellipseMode(CORNERS);
ellipse(50, 50, 150, 150);

f:id:pipoblog:20171204180604p:plain:w300