21.07.2013 Views

pontifícia universidade católica de minas gerais análise de novos ...

pontifícia universidade católica de minas gerais análise de novos ...

pontifícia universidade católica de minas gerais análise de novos ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

212<br />

Figura 26 - Algoritmo para teste numérico-matemático das novas equações <strong>de</strong><br />

cálculo. A função Aleatorio() retorna um número real randômico (aleatório)<br />

entre -1 (menos um) e 1 (um), diferente a cada chamada da função.<br />

Algoritmo<br />

|Entre com N // Número <strong>de</strong> Imagens<br />

|Entre com B[r,s], C[r,s], E[r,s], F[r,s] // Coeficientes das equações<br />

|Entre com NTESTE // Número <strong>de</strong> testes à serem feitos (tipo<br />

10000)<br />

|Entre com PRECISAO // Precisão dos testes (tipo 0,0000001)<br />

|<br />

|Pi = 3.1415926535897932<br />

|FI = - Pi / 4<br />

|PASSO = N ou 16 ou 19<br />

|<br />

|Para r <strong>de</strong> 1 até N<br />

| | TETA[r] = ( Pi / 2 ) * ( r – 1 ) / ( PASSO – 1 ) – Pi / 4<br />

|Fim Para<br />

|<br />

|CONTADOR = 0<br />

|ACERTOS = 0<br />

|ERROS = 0<br />

|<br />

|Repita<br />

||<br />

||CONTADOR = CONTADOR + 1<br />

||ALFA = (Pi / 4) * Aleatorio()<br />

||DELTA = (Pi / 2) * Aleatorio()<br />

||K = 255 * Aleatorio()<br />

||<br />

||Para r <strong>de</strong> 1 até N<br />

|| | I[r] = K*(1-sin(2*(TETA[r]-FI))*cos(DELTA)-sin(2*(FI-ALFA))*cos(2*(TETA[r]-<br />

FI))*sin(DELTA))<br />

||Fim Para<br />

||<br />

||SOMAB = 0<br />

||SOMAC = 0<br />

||SOMAE = 0<br />

||SOMAF = 0<br />

||<br />

||Para r <strong>de</strong> 1 até N<br />

|| | Para s <strong>de</strong> r até N<br />

|| | | SOMAB = SOMAB + B[r,s] * I[r] * I[s]<br />

|| | | SOMAC = SOMAC + C[r,s] * I[r] * I[s]<br />

|| | | SOMAE = SOMAE + E[r,s] * I[r] * I[s]<br />

|| | | SOMAF = SOMAF + F[r,s] * I[r] * I[s]<br />

|| | Fim Para<br />

||Fim Para<br />

||<br />

||Se Abs( ALFA – arctan(sqrt(abs( SOMAB / SOMAC ))) / 2 ) < PRECISAO e<br />

||| Abs( DELTA - arctan(sqrt(abs( SOMAE / SOMAF ))) ) < PRECISAO<br />

||| Então ACERTO = ACERTO + 1<br />

||| Senão ERRO = ERRO + 1<br />

||Fim Se<br />

||<br />

|Até CONTADOR = NTESTE<br />

|<br />

|Escreva(ACERTO, ERRO) // Número <strong>de</strong> acertos e erros com utilização das<br />

equações<br />

Fim algoritmo<br />

Fonte: Resultados da pesquisa.<br />

Nota-se que todas as equações apresentadas nesta pesquisa passaram pelo<br />

teste numérico matemático acima <strong>de</strong>scrito. Para isso, foi criado um programa em<br />

Delphi 7.0/Pascal® da Borland Software Corporation 4 , on<strong>de</strong> cada equação foi<br />

4 http://www.borland.com

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!