| Name | bezierTangent() |
||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Examples |
noFill()
bezier(85, 20, 10, 10, 90, 90, 15, 80)
steps = 6
fill(255)
for i in range(steps + 1):
t = i / float(steps)
# Get the location of the point
x = bezierPoint(85, 10, 90, 15, t)
y = bezierPoint(20, 10, 90, 80, t)
# Get the tangent points
tx = bezierTangent(85, 10, 90, 15, t)
ty = bezierTangent(20, 10, 90, 80, t)
# Calculate an angle from the tangent points
a = atan2(ty, tx)
a += PI
stroke(255, 102, 0)
line(x, y, cos(a)*30 + x, sin(a)*30 + y)
# The following line of code makes a line
# inverse of the above line
#line(x, y, cos(a)*-30 + x, sin(a)*-30 + y)
stroke(0)
ellipse(x, y, 5, 5)
noFill()
bezier(85, 20, 10, 10, 90, 90, 15, 80)
stroke(255, 102, 0)
steps = 16
for i in range(steps + 1):
t = i / float(steps)
x = bezierPoint(85, 10, 90, 15, t)
y = bezierPoint(20, 10, 90, 80, t)
tx = bezierTangent(85, 10, 90, 15, t)
ty = bezierTangent(20, 10, 90, 80, t)
a = atan2(ty, tx)
a -= HALF_PI
line(x, y, cos(a)*8 + x, sin(a)*8 + y)
| ||||||||||
| Description | Calculates the tangent of a point on a Bezier curve. There is a good definition of tangent on Wikipedia. | ||||||||||
| Syntax | bezierTangent(a, b, c, d, t) | ||||||||||
| Parameters |
| ||||||||||
| Related |
bezier() bezierVertex() curvePoint() |
Updated on Tue Feb 27 14:07:12 2024.
If you see any errors or have comments, please let us know.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License