Trying this out for Bezier interpolation rn. Doesn't work correctly when moving the mouse. It does when there are predefined static points.
if(circles.size() > 2)
{
int X0 = circles[circles.size() - 3].getPosition().x;
int Y0 = circles[circles.size() - 3].getPosition().y;
int X1 = circles[circles.size() - 2].getPosition().x;
int Y1 = circles[circles.size() - 2].getPosition().y;
int X2 = circles[circles.size() - 1].getPosition().x;
int Y2 = circles[circles.size() - 1].getPosition().y;
for(float t = 0.01; t < 1; t+=0.01f)
{
int x =(1 - t) * (1 - t) * X0 + 2 * (1 - t) * t * X1 + t * t * X2;
int y =(1 - t) * (1 - t) * Y0 + 2 * (1 - t) * t * Y1 + t * t * Y2;
curves.push_back(newCircle(sf::Vector2f(x, y), sf::Color::Blue));
}
}
Pic 1 - predefined points
Pic 2 - moving the mouse