Spec-Zone.ru › LÖVE

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

См. также

  • BezierCurve
  • love.math

© 2006–2020 LÖVE Development Team
Licensed under the GNU Free Documentation License, Version 1.3.
https://love2d.org/wiki/BezierCurve:getDerivative

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API