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') -- 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 См. также
© 2006–2020 LÖVE Development Team
Licensed under the GNU Free Documentation License, Version 1.3.
https://love2d.org/wiki/BezierCurve:getDerivative