joao escreveu:Valeu a todos pela ajuda!
Tive ajuda ateh por MSN...
A ideia realmente eh conseguir achar o ponto central e dai tracar retas e ir verificando se as imagens cortadas sao ou nao simetricas.
Valeu a todos pelas dicas.
[]'s
Olá João!!
Lí ontem sua postagem, mas não tinha idéia para lhe passar.
Hoje, de relance, veio uma e acho que daria certo. Precisa conhecer a equação da circunferência no plano xy e alguma álgebra.
Segue a idéia:
1 - Escreva a equação geral da circunferência: ^ é símbolo de "ao quadrado"
(x-a)^2 + (y-b)^2 = R^2
Esta circunferência tem o seu centro no ponto P(a,b).
2 - Crie três pontos genéricos que passam pela circunferência. Obviamente possuem o mesmo raio R.
Pontos P1(x1,y1), P2(x2,y2) e P3(x3,y3).
P1: (x1-a)^2 + (y1-b)^2 = R^2
P2: (x2-a)^2 + (y2-b)^2 = R^2
P3: (x3-a)^2 + (y3-b)^2 = R^2
3 - A idéia é calcular o ponto central P(a,b) da circfunferência, dados os três pontos P1, P2 e P3.
4 - O "pulo do gato" é você escolher um ponto central P(a,b) inicial, que esteja dentro da figura. Ajude a matemática e escolha aproximadamente o ponto que você acha que é o centro da sua figura.
5 - Escolha o raio R, com cerca de 2 vezes a distância (estimada) que você imagina ser o ponto da figura mais afastado do centro de sua circunferência.
6 - Comece a reduzir o raio da circunferência, até que um ponto da figura passe pela circunferência. Este será o seu ponto P(x1,y1). Faça todas as futuras circunferências passarem por este ponto.
7 - Agora você vai variar o centro P(a,b) da circunferência.
Escolha novos valores de R, de modo a reduzir o raio. Para cada valor, calcule o novo ponto do centro da circunferência P(a,b).
Verifique se um segundo ponto coincide com a sua imagem. Você terá que usar um processo interativo, pois você deseja que a coincidência (ponto P(x2,y2)) coincida com o ponto mais afastado da sua imagem. Aí você descobriu o seu segundo ponto.
8 - Falta descobrir o terceiro ponto.
Trace uma reta (y = mx + c) que passe pelo seu ponto central atual P(a,b) e que passe também pelo centro da semi-reta que passa pelos pontos P1(x1, y2) e P2(x2,y2).
9 - Aumente ou diminua o raio R da circunferência, de modo que o centro da mesma coincida com um ponto da reta criada.
Para cada opção, verifique se ocorre uma coincidência com um ponto de sua imagem. A idéia é alterar o raio até que você encontre o terceiro ponto P3(x3,y3). Logicamente este ponto será o que ocorre com o maior raio, cuja circunferência ainda coincida com a imagem.
O ponto P(a,b) calculado será também o ponto central de sua imagem.
Este é o ponto de partida para saber se sua imagem é simétrica.
A partir daí, você deve criar retas que passam por este ponto e que possuam ângulos diferentes.
Para cada reta calcule dois pontos opostos ao ponto P(a,b) e que possuam a mesma distância.
Faça isso para muitos pontos e para muitas retas.
Para cada ponto duplo, veja se neles a imagem coincide.
Caso haja coincidência em todos eles, então sua imagem é simétrica.
Comece com um teste com um quadrado, para saber se o seu programa está correto.
Com este procedimento sua imagem poderá ter qualquer formato.
MOR_AL
"Para o triunfo do mal só é preciso que os bons homens não façam nada." Edmund Burke.
"Nunca discutas com pessoas estúpidas. Elas irão te arrastar ao nível delas e vencê-lo por possuir mais experiência em ser ignorante". Mark Twain