Destaque
- Gerar link
- X
- Outros aplicativos
Marcadores
Dia 298 a 303 - Matemática com Freya Holmer #6
Trigonometria
Ângulos
Ângulos, sempre são relativos a algo (tipo eu tenho um triangulo e quero saber o ângulo de uma de suas arestas em relação a outra) e pode ser em relação a um eixo
Nessa imagem aqui o ângulo é calculado em relação ao eixo X positivo.
Tem varias formas de dizer um ângulo, podemos usar o grau, ou podemos usar voltas (1 volta = 360°, 0,5 volta = 180°, 0.75 = 270°, 0.25 = 90°) e voltas também poderiam ser expressas em frações (1 volta = 1, 0,5 volta = 1/2 , 0.25 = 1/4).
E também temos os radianos.
Na matemática temos o TAU que é igual a circunferência de um circulo de raio 1, TAU vale 6.28... (normalmente o TAU não é chamado assim, ele é chamado de 2PI (já que ele é 2x o valor de PI)).
- PI = C/ D (circunferência, diâmetro)
- TAU = C/r (circunferência, raio)
Então por exemplo, 90° (0,25 ou 1/4 de volta) seriam 0,25 TAU., se fosse PI ficaria 0,25 * 2PI = 0,5PI o que não é muito intuitivo...
- r * ângulo = circunferência
Seno e Cosseno
Sabe eu nunca entendi isso de seno, cosseno e tangente... mas é tão simples, quando as coisas tem um uso prático... em vez de ser apenas teórico, tudo parece se tornar mais claro.
Mas é extremamente simples, é apenas um DOT do ângulo, nos dois eixos horizontal e vertical. e isso nos permite converter entre vetor2D e "ângulo", então Cosseno é o Dot do eixo X, e Seno é o Dot do eixo Y.
Agora, o relacionamento entre Cos/Sen e DOT.
OBS: o ^ na imagem representa o vetor normalizado e o |A| representa o comprimento do vetor, e o símbolo grego alfa representa o ângulo.
Fiz uns testes, fiz um circulo, tentei fazer uma espiral... acabei fazendo um tipo de shuriken estranha :/ e umas outras formas legais, enfim matemática é foda.
Tangente
O Tangente é o comprimento de uma direção perpendicular ao vetor em direção ao eixo X a a partir do vetor. (o vídeo acima torna essa explicação mais clara)
Observando a tangente (olhe o vídeo denovo) podemos notar que ela e o vetor e o eixo X sempre vão formar um triangulo retângulo.
OBS: conforme o vetor for se tornando mais próximo de se tornar paralelo ao eixo Y, a tangente vai aumentando, até que ela se torne infinita.
exemplo de uso |
Um exemplo, temos objetos em uma cena e queremos que a câmera exiba todos eles e para isso eu vou alterar o campo de visão (FOV) da câmera, então eu preciso descobrir o ângulo, eu posso usar a distância dos objetos e conseguir o valor de b, o valor de a seria um pouquinho mais complicado de calcular, mas não é impossível e a partir disso existem algumas formulas matemáticas que se podem ser usadas, que relacionam os catetos opostos e adjacentes de um triangulo com a tan/cos/sen do ângulo.
fonte: Trigonometric functions wikipedia |
Na Unity temos o Mathf.Tan(); e o Mathf.Atan(); .pelo que entendi da explicação (1:29h aprox.) se eu usar essa formula acima eu teria a Tangente de alfa, mas se eu calcular o Arco Tangente (Atan) eu terei o ângulo de alfa...
(Dia 299 - 05/03 - vou rever depois a ultima parte que vi)
Em outro momento ela diz que a versão normal da função (cos, sin, tan) vai do ângulo para a coordenada, enquanto a versão "a" (acos, asin, atan) ela vai da coordenada para o ângulo.
(na verdade o que ela dá é o comprimento e com isso dá pra descobrir a coordenada)
Outros
Além de Seno, Cosseno e Tangente existem outras, mas ela diz serem meio que opcionais, normalmente apenas aquelas 3 bastam para fazer tudo.
Exemplos práticos
De ângulo para vetor
(Dia 300 - 06/03 - Até 1:54h)De vetor para ângulo
Se de ângulo para vetor, você usa sin e cos, então de vetor para ângulo você poderia usar o inverso, ou seja asin e acos.
Mas o problema é que asin e acos, recebem um dos eixos e retornam um ângulo em rad, o problema disso é que eles por si só não diferenciam se o vetor está do lado negativo ou positivo do outro eixo.
Então um acos poderia retornar 45°, sendo 45° ou 315°, já que ambos os vetores teriam o mesmo valor em x. logo asin e acos sempre daria uma resposta entre 0° e 180°, você poderia fazer toda uma lógica para descobrir o quadrante e o ângulo exato, mas é mais fácil usar o atan2, que já faz isso tudo para você.
Ângulo entre dois vetores
OBS: Nesse aqui ela citou que na prática, tem que dar um clamp no dot entre -1 e 1, matematicamente isso nunca ocorreria, mas quando devido a detalhes técnicos pode acontecer, deve ter relação com floats...
(Dia 301 -07/03 - Até 2:25h)
Triângulos
As vezes tem problemas que podem ser decompostos em triângulos, quando se trata de descobrir um ângulo de um triangulo, você precisa ter ao menos 2 informações.
E também é possível inverter as formulas, por exemplo, se eu tiver a tangente e o cateto adjacente, eu posso:
Tan = O/A
O = Tan * A
Alias a Freya, possui essa ferramenta aqui bem legal: Triangle Solver
(Dia 302 -08/03 - Até 2:38h)
Determinant
Como eu tinha dito antes, o Cosseno é basicamente um Dot usando o vetor do ângulo e a direção do eixo X, temos também uma forma de descobrir o Seno usando apenas esses dois vetores, que é usando o determinante.
Comentários
Postar um comentário