Fecho convexo

Essa página é sobre uma tarefa para gerar o fecho convexo interativamente para círculos de raio aleatório.

Toda vez que o usuário realizar um clique na janela, um círculo com raio aleatório será inserido no local, e o fecho convexo será calculado.

Exemplo de fecho convexo para 3 círculos

Como o nosso problema não são pontos, mas círculos, poderíamos gerar vários pontos na circunferência dos círculos e usar algum dos algorítimos conhecidos que funcionem com pontos, ou adaptar um dos algorítimos mais simples para considerar os círculos

Calculando a tangente a dois círculos

Iremos calcular a linha tangente que fica à esquerda da linha que liga o centro dos dois círculos. Essa linha será utilizada no algorítimo, onde seria usada a linha(original)

Encontramos essa linha que é paralela