BezierCurve:getDerivative (Українська)

Доступне починаючи з LÖVE 0.9.0
Ця функція недоступна в попередніх версіях.

Отримати похідну кривої Безьє.

За допомогою цієї функції можна повертати спрайти на кривій за їх напрямком та обчислювати напрямки перпендикулярів до кривої на певних значеннях параметру t.

Функція

Вигляд

derivative = BezierCurve:getDerivative()

Аргументи

Відсутні.

Повертає

BezierCurve derivative
Похідна крива.

Приклад

Розміщувати спрайт на кривій Безьє.

curve      = love.math.newBezierCurve({25,25,75,50,125,25})
derivative = curve:getDerivative()
sprite     = love.graphics.newImage('sprite.png') -- щоб показати напрямок; вважатимемо, що передня частина спрайту зверху.

local t = 0.0 -- діапазон: [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)
	-- Якщо б спрайт дивився направо, додавати +math.pi/2 було б непотрібно.
	love.graphics.draw(sprite, ex, ey, math.atan2(dy,dx)+math.pi/2, 1, 1, sprite:getWidth()/2, sprite:getHeight()/2)
end

Див. також


Іншими мовами