If you're seeing this message, it means we're having trouble loading external resources on our website.

Se você está atrás de um filtro da Web, certifique-se que os domínios *.kastatic.org e *.kasandbox.org estão desbloqueados.

Conteúdo principal

Ângulos e unidades

Na seção de vetores e forças, criamos com cuidado uma estrutura orientada a objetos para fazer algo se mover na tela, usando o conceito de um vetor para representar a localização, velocidade, e aceleração de acordo com as forças do ambiente. Poderíamos ir direto para tópicos como sistemas de partículas, forças de direção, comportamentos em grupo, etc. Contudo, se fizéssemos isso, pularíamos uma área importante matemática que vamos precisar: trigonometria, ou a matemática dos triângulos, mais especificamente dos triângulos retângulos.
A trigonometria vai nos dar várias ferramentas. Vamos pensar em ângulos, velocidade angular, e aceleração. Ela vai nos ensinar sobre as funções seno e cosseno, que podem ser usadas para descrever padrões de ondas. Ela vai nos permitir calcular forças mais complexas em um ambiente e que envolvem ângulos, como um pêndulo balançando ou uma caixa escorregando por uma ladeira.
Assim, essa seção vai ser um pouco misturada. Vamos começar com o básico sobre ângulos em ProcessingJS, e cobrir vários tópicos de trigonometria, chegando às forças no final. E fazendo essa pausa agora, também vamos preparar o terreno para exemplos mais avançados que requerem trigonometria.

Ângulos

Ok. Antes de fazermos qualquer coisa, precisamos entender de fato o que significa um ângulo em ProcessingJS. Se você tem experiência com ProcessingJS, você sem dúvida já viu isso na função rotate() para rotacionar e girar objetos.
A primeira coisa a se fazer é abordar radianos e graus. Você provavelmente está mais acostumado com o conceito de um ângulo em graus. Uma rotação completa vai de 0 a 360 graus. 90 graus (um ângulo reto) é 1/4 de 360, mostrado abaixo como duas retas perpendiculares.
É bastante intuitivo para nós pensarmos em ângulos como graus. Por exemplo, o quadrado no diagrama abaixo está rotacionado em 45 graus em torno de seu centro.
Porém, as vezes, pode ser melhor especificar nossos ângulos em radianos. Um radiano é uma unidade de medida para ângulos definida pela razão do comprimento do arco de um círculo pelo raio do círculo. Um radiano é o ângulo em que a razão é igual a um (veja o primeiro diagrama). 180 graus = PI radianos, 360 graus = 2*PI radianos, 90 graus = PI/2 radianos, etc.
A fórmula para converter graus para radianos é:
r, a, d, i, a, n, o, s, equals, 2, times, P, I, times, left parenthesis, g, r, a, u, s, slash, 360, right parenthesis
Felizmente, ProcessingJS torna fácil decidir qual unidade usar, radianos ou graus, quando usamos as funções que lidam com ângulos, como sin() e atan(). No ambiente da Khan Academy, o padrão é graus, mas pode ser mudado para radianos, assim:
angleMode = "radians";
Além disso, ProcessingJS também fornece funções que facilitam a troca entre as duas unidades. A função radians() converte automaticamente valores de graus para radianos, e as constantes PI e TWO_PI fornecem acesso conveniente a esses números normalmente usados (equivalente a 180 e 360 graus, respectivamente). O código a seguir, por exemplo, vai rotacionar as formas em 60 graus.
angleMode = "radians";
var angulo = radians(60);
rotate(angulo);
Se você não está acostumado com a implementação de rotação em ProcessingJS, você pode ler esse tutorial: Processing - Transformações 2D, mas note que há algumas diferenças entre Processing e ProcessingJS.
O que é PI?
A constante matemática pi (ou π) é um número real definido como a razão da circunferência de um círculo (a distância em volta do perímetro) por seu diâmetro (uma reta que passa pelo centro do círculo e tem as extremidades em seu perímetro). Tem um valor aproximado a 3,141519 e pode ser acessado no ProcessingJS através da variável nativa PI.

Este curso "Natural Simulations" é um derivado do "The Nature of Code" por Daniel Shiffman, usado sob a Creative Commons Attribution-NonCommercial 3.0 Unported License.

Quer participar da conversa?

Nenhuma postagem por enquanto.
Você entende inglês? Clique aqui para ver mais debates na versão em inglês do site da Khan Academy.