I’m trying to create a hyperbolic version of Pong in a Poincaré disk, using C++ and SFML.
Here is my problem: when the ball rebounds on a paddle, I deduce two coordinates allowing me to recover the equation of the hyperbola (as a circle in the Poincaré disc), in implicit form:
$$x^2 + y^2 + ax + by + 1 = 0$$
So, I have my equation, and I can only move my sprite using its x and y Cartesian coordinates - I don’t know how to do it differently.
How can I move my sprite following this circle equation?
Moreover, I would like to represent the Poincaré metric, so the ball's velocity will also vary as a function of the metric and its position (slowing down on the screen as it gets closer to the edge of the disc where space is compressed)…