I'm developing a 2D game using Cocos2d-x.
Is possible to use CCBezierTo
to parameterize a sine function?
2 Answers
Just use Bezier, giving 3 points in concave section, and another 3 in convex section, its easier than give all points to do a perfect sine, and the trajectory is the same.
You could create a Bézier curve that matches a sine (read this article for an example). Creating a Bézier curve from a sine, just to feed into CCBezierTo
seems like a very counter-intuitive way of doing things though.
I would skip CCBezierTo
entirely and update the position of your sprite yourself. You could do so in your update method or implement a CCAction
yourself. The easiest form of movement would be to increase x
constantly (or with a decaying value to simulate some sort of drag) and use the sine function to calculate y
.
CCBezierTo
. Is that right? \$\endgroup\$sin
function in terms of polynomials (especially finite series) is mathematically impossible since the basis (be it Bernstein polynomials or your 1,x,,x^2,etc.. canonical one) is finite and cannot reproduce the taylor series of the sine function. You may find it faster to just use a truncated Taylor expansion of the sine. But if you aim to "draw" something, you can for sure mimic the images of some simple non-linear functions. (I wrote this comment just for the mathematical caveat.. no trolling intended :D). \$\endgroup\$