Detecção de colisão: objeto arredondado

Estou desenvolvendo um jogo Java (mas a linguagem de desenvolvimento não importa), incluindo objetos arredondados como bolas ou discos, e agora trabalhando em colisões. Eu uso um temporizador, então em cada quadro eu verifico se uma colisão acontece.

Aqui está um gráfico que representa a parte superior direita de um objeto.

O centro do objeto é representado pelo ponto [0,0], seu raio é 10px e as unidades são pixels.

Agora, se meu objeto (por exemplo,obj_1) é quadrada / em losango (linha azul), para descobrir se outra (obj_2colide eu só tenho que pegar suas coordenadas e checarMath.abs(obj_1.x - obj_2.x) + Math.abs(obj_1.y - obj_2.y) <= radius Eu saberei se houver uma colisão.

Mas o problema é mais complicado com uma forma de círculo (linha vermelha), porque ocupa mais espaço e esse espaço ocupado não é limitado por uma linha reta. Claro que terei que arredondar alguns valores (por exemplo, no gráfico anterior, se eu quiser verificar uma colisão emx = 2 Eu terei que arredondar o valor de y que parece 9,5 para 10). Mas eu simplesmente não tenho ideia de como obter essa fórmula. Qualquer ajuda será muito apreciada.

questionAnswers(4)

yourAnswerToTheQuestion