Надеюсь, я отвечу на ваш вопрос вместо того, чтобы делать предположения о том, чего вы пытаетесь достичь, и предлагать физический движок.
В любом случае я бы предложил использовать линейное уравнение и MathHelper.Clamp функцию
y = mX + b; // Line equation
x = (y - b) / m
Так что теперь вы можете получить границу x длязначение y вашего игрока
MathHelper.Clamp(Player.X, min, (Player.Y - b) / m)
или граница x от значения y вашего игрока
MathHelper.Clamp(Player.Y, min, (m * Player.X) + b)