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.
Contents
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
Other Languages
Dansk –
Deutsch –
English –
Español –
Français –
Indonesia –
Italiano –
Lietuviškai –
Magyar –
Nederlands –
Polski –
Português –
Română –
Slovenský –
Suomi –
Svenska –
Türkçe –
Česky –
Ελληνικά –
Български –
Русский –
Српски –
Українська –
עברית –
ไทย –
日本語 –
正體中文 –
简体中文 –
Tiếng Việt –
한국어
More info