ワタタク
今回の記事の目的はProcessingの「bezierPoint()
」を理解し、自分なりに使ってみること。
目次
【Processing】bezierPoint()について
bezierPoint()について
- 英語の「bezierPoint」は、「ベジエ曲線上の点」を意味する
bezierPoint()
は、ベジエ曲線というなめらかな曲線の特定の点を計算してくれる関数- ベジエ曲線は、ポイント(点)同士をなめらかにつなぐのに使われます
- 構文:
bezierPoint(a, b, c, d, t)
a
とb
はベジエ曲線の最初の2つの点c
とd
はベジエ曲線の最後の2つの点t
は0から1までの値で、どの点を探したいかを指定する
【Processing】bezierPoint()の使い方【画像とコード】
void setup() {
size(400, 400); // キャンバスのサイズを設定(幅400ピクセル、高さ400ピクセル)
noFill(); // 塗りつぶしなしに設定
// 新しいベジェ曲線のコントロールポイント
bezier(50, 200, 150, 100, 250, 300, 350, 200); // ベジェ曲線を描画するための4つの点(コントロールポイント)を指定
fill(255); // 塗りつぶしの色を白に設定
int steps = 10; // ベジェ曲線上に配置する点の数を設定
for (int i = 0; i <= steps; i++) { // 点を配置するためのループを開始
float t = i / float(steps); // tは0から1までの割合で、曲線上の点の位置を決定
float x = bezierPoint(50, 150, 250, 350, t); // ベジェ曲線のx座標を計算
float y = bezierPoint(200, 100, 300, 200, t); // ベジェ曲線のy座標を計算
// ポイントの色をオレンジに設定
fill(255, 165, 0); // 塗りつぶしの色をオレンジに設定
ellipse(x, y, 10, 10); // 計算した座標にオレンジ色の円を描画
}
}
【Processing】bezierPoint()を使ってみた感想
ベジェ曲線上に丸を描けて可愛い。
それでは今日もレッツワクワクコーディング。