Cursos / Jogos Digitais / Matemática Aplicada a jogos / Aula
Vimos que um polígono é definido como a região interna de uma linha poligonal. Para o uso de polígonos como representação matemática de objetos virtuais, é importante saber detectar quando um ponto está no interior de um polígono ou no seu exterior.
O algoritmo mais utilizado para esse tipo de detecção consiste em definir uma semirreta a partir do ponto pesquisado e contar quantas interseções essa semirreta tem com os lados do polígono. Por simplicidade costuma-se tomar uma semirreta horizontal partindo do ponto. Se o número de interseções da semirreta com os lados do polígono for par, o ponto está fora do polígono. Se for ímpar, o ponto está em seu interior.
Isso pode ser ilustrado pela Figura 26.
Essa abordagem, no entanto, traz consigo alguns casos particulares nos quais é possível identificar alguns problemas.
Se, por exemplo, a semirreta interceptar um dos lados ou um dos vértices do polígono, um número par ou ímpar de interseções não equivale mais à posição do ponto relativa ao polígono. As situações problemáticas podem ser observadas na Figura 27.
Vale lembrar também que, de maneira geral, consideramos os pontos pertencentes à linha poligonal como interiores ao polígono. Sendo assim, na Figura 27-c podemos ver que teríamos uma semirreta partindo de um ponto interior que possui duas interseções com os lados do polígono. Portanto seria considerado como ponto exterior.
Versão 5.3 - Todos os Direitos reservados