Boa noite pessoal, em um link em um dos posts aqui no forum eu conheci o site PontoV e la tem um artigo interessante chamado java2D
Nesse artigo em um paragrafo vem escrito:
A propósito, tudo que eu achei sobre ponto pertencer a algo estava relacionado a objetos com área (retângulo, circulo, etc) utilizando o método contains da classe shape. Porem reta nao possui área
ViniGodoy
Você pode usar o ptLineDist ou a versão dela ao quadrado (mais rápida).
Um ponto intercepta uma reta quando a distância dele em relação for a ela 0.
tabocu
Qual é essa versao ao quadrado? prefiro pq estou otimizando meu código
tabocu
Esse outro método me retorna o quadrado ou a raiz da distancia?
ViniGodoy
ptLineDistSq.
Se for só ao segmento, tem a ptSegDistSq.
Dá uma olhada no javadoc, você vê as várias assinaturas possíveis lá.
O cálculo da distância é geralmente obtido pelo teorema de pitágoras sqrt((x1-x2)² + (y1-y2)²).
Como a função de raiz quadrada é pesada, e muitas vezes só calculamos distancias para fazer comparações relativas (se uma distância é maior que outra) ou para testar se é 0, a maior parte das APIs tem uma versão do método que faz parte do cálculo, mas deixa a raiz quadrada do final de fora. Assim, você obtém a distância ao quadrado, que já é suficiente para esse tipo de teste.
tabocu
Muito obrigado Viny, acho que se eu tivesse lido seu artigo antes eu nao teria desperdiçado tanto tempo com algorítimos gambiarra.
To cada vez mais próximo de um botão em formato de linha
Eu trabalho num projeto pra cemig que utiliza computação evolucionária, mas é um colega meu que é responsável pelos algorítimos genéticos que é apenas uma pequena parte. Obrigado pelo link, sempre que tenho chance eu dou uma estudada em algorítimo evolucionário, espero um dia entender e saber aplicar.
Feliz ano novo!
ViniGodoy
Esse if:
if (condição é verdadeira?) return verdadeiro;
else return false;