Atividade 02 – Cálculo de PI

Inicialmente, você vai alterar qualquer um dos objetos de jogo previamente definidos, inserindo alguns atributos públicos e alterando também o método Update(). Pode-se fazer a alteração, por exemplo, no objeto GameManager.

Insira os atributos pi, c e t para armazenarem respectivamente o valor de $$ \pi $$, o número de pontos dentro do círculo e o número total de pontos gerados. Deixe-os públicos para poder ver seus valores enquanto a simulação é executada.

Você precisará usar também o mecanismo de geração de números aleatórios da linguagem C#. Opte em usar essa linguagem, e não o que o Unity fornece, para usar o tipo double e ter uma precisão maior.

No método Update(), você gerou duas coordenadas (x e y) com valores entre -1 e 1. Ou seja, as coordenadas definem um ponto dentro de um quadrado de lado de tamanho 2. Verifique depois se a distância desse ponto para o centro do quadrado (0, 0) é menor ou igual a 1. Se for, é porque o ponto encontra-se dentro do círculo inscrito dentro do quadrado, pois a distância é menor ou igual ao seu raio. Nesse caso, o contador c precisa ser incrementado. O contador t é incrementado a cada atualização, uma vez que um novo ponto é testado a cada chamada do método, e pi é calculado a partir dos contadores mencionados. O Código 06 mostra os detalhes da solução.

Execute o programa com o objeto GameManager selecionado e você verá o valor de pi convergindo paulatinamente para 3,14. Note que, para convergir, é necessário realizar milhares de chamadas do método Update() (no meu teste, o valor convergiu para 3,14 quando o contador t estava na casa de 15.000). Quanto mais pontos gerar, mais precisa será a probabilidade calculada e, consequentemente, mais casas decimais definidas você encontrará para o valor de $$ \pi $$.

Versão 5.3 - Todos os Direitos reservados