BezierCurve:getDerivative
Available since LÖVE 0.9.0
This function is not supported in earlier versions.
Get the derivative of the Bézier curve.
This function can be used to rotate sprites moving along a curve in the direction of the movement and compute the direction perpendicular to the curve at some parameter t.
Function
Synopsis
derivative = BezierCurve:getDerivative()
Arguments
None.
Returns
BezierCurve derivative
- The derivative curve.
Example
Position a sprite along a Bézier-curve.
curve = love.math.newBezierCurve({25,25,75,50,125,25}) derivative = curve:getDerivative() sprite = love.graphics.newImage('sprite.png') -- to demonstrate orientation; assuming the sprite's front is upwards. local t = 0.0 -- range: [0,1] function love.update(dt) t = (t + dt / 10) % 1.0 end function love.draw() local ex,ey = curve:evaluate(t) local dx,dy = derivative:evaluate(t) -- If the sprite were facing to the right, the +math.pi/2 part would not be needed. love.graphics.draw(sprite, ex, ey, math.atan2(dy,dx)+math.pi/2, 1, 1, sprite:getWidth()/2, sprite:getHeight()/2) end
See Also
© 2006–2020 LÖVE Development Team
Licensed under the GNU Free Documentation License, Version 1.3.
https://love2d.org/wiki/BezierCurve:getDerivative