Processing

PythonでProcessing curveTangent() 曲線の接線を取得

曲線上の点の接線を計算する。接線(タンジェント)の詳細は、Wikipediaを参照。

# 構文
# curveTangent(a, b, c, d, t)
#
# パラメータ
# a float: 曲線上の最初の点の座標
# b float: 1番目の制御点の座標
# c float: 2番目の制御点の座標
# d float: 曲線上の2番目の点の座標
# t float: 0と1の間の値
noFill()
curve(5, 26, 73, 24, 73, 61, 15, 65)
steps = 6
for i in range(steps): 
    t = i / float(steps)
    x = curvePoint(5, 73, 73, 15, t)
    y = curvePoint(26, 24, 61, 65, t)
    tx = curveTangent(5, 73, 73, 15, t)
    ty = curveTangent(26, 24, 61, 65, t)
    a = atan2(ty, tx)
    a -= PI/2.0
    line(x, y, cos(a)*8 + x, sin(a)*8 + y)