# Implementing a sine using a bezier curve

I'm developing a 2D game using Cocos2d-x. Is possible to use CCBezierTo to parameterize a sine function?

• I guess you're talking about a sine function? What do you mean when you say use a bezier curve to parametrize a sine function? What are you trying to achieve? Jul 13, 2012 at 7:36
• Make a semi-period, concave or convex. My idea is create a sine, with use function sin, just using curves chained. Jul 13, 2012 at 7:38
• So in the end you want a bezier curve, that matches a sine curve? So that you can use it with CCBezierTo. Is that right? Jul 13, 2012 at 7:41
• Yes, it is right. I must not be exactly a sine, because i'm interesting in create a method to make trajectories beautiful. My random experiments with bezier are horrible. Learning to make a sine, it would help me to create more things. Jul 13, 2012 at 7:44
• Theoretically, writing a the 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). Jul 13, 2012 at 8:28

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.