Processing

PythonでProcessing bezierPoint() ベジェ曲線上の点/制御点を取得する

点a,b,c,dについて点tでのベジェを評価する。

パラメータtは0から1の間で変化し、aとdは曲線上の点、bとcは制御点。

これはx座標で1回、y座標で2回行うことができ、tにおけるベジェ曲線の位置を得ることができる。

# 構文
# bezierPoint(a, b, c, d, t)
#
# パラメータ
# a float: 曲線上の最初の点の座標
# b float: 1つ目の制御点の座標
# c float: 2つ目の制御点の座標
# d float: 曲線上の2番目の点の座標
# t float: 0と1の間の値
noFill()
bezier(85, 20, 10, 10, 90, 90, 15, 80)
fill(255)
steps = 10
for i in range(steps+1): 
    t = i / float(steps)
    x = bezierPoint(85, 10, 90, 15, t)
    y = bezierPoint(20, 10, 90, 80, t)
    ellipse(x, y, 5, 5)