BezierCurve:getDerivative (Français)

Disponible depuis LÖVE 0.9.0
Ce-tte function n'est pas supporté-e par des versions plus anciennes.

Retourne la dérivée de la courbe de Bézier.

Cette fonction peut être utilisée pour faire pivoter les sprites se déplaçant le long d'une courbe suivant la direction du mouvement et calculer la direction perpendiculaire à la courbe au paramètre t.

Fonction

Synopsis

derivative = BezierCurve:getDerivative()

Arguments

Aucun.

Retourne

BezierCurve (Français) derivative
La courbe dérivée.

Exemple

Place un sprite le long d'une courbe de Bézier

curve      = love.math.newBezierCurve({25,25,75,50,125,25})
derivative = curve:getDerivative()
sprite     = love.graphics.newImage('sprite.png') -- Pour montrer l'orientation ; en assumant que l'avant du sprite est vers le haut.

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)
	-- Si le sprite faisait face à la gauche, la partie +math.pi/2 ne serait pas nécessaire.
	love.graphics.draw(sprite, ex, ey, math.atan2(dy,dx)+math.pi/2, 1, 1, sprite:getWidth()/2, sprite:getHeight()/2)
end

Voir également


Autres langues