Calculadora de ângulo entre vetores
Resultado
Ângulo entre os vetores
- Cosseno do ângulo
- 0,5000
- Ângulo em radianos
- 1,0472
Uma calculadora de ângulo entre vetores recebe dois vetores e devolve o ângulo entre eles, junto com o cosseno de onde esse ângulo veio e o mesmo ângulo em radianos. Digite os componentes de cada vetor separados por espaços ou vírgulas — 1 1 0 para um vetor tridimensional, 0 3 para um bidimensional — e a página faz o resto. Os dois vetores precisam ter a mesma quantidade de componentes, mas fora isso não há limite de quantos, e componentes negativos não são problema. A aritmética por trás da resposta é curta. Multiplique os dois primeiros componentes entre si, os dois segundos, e assim por diante, e some os produtos: isso é o produto escalar. Tire o módulo de cada vetor, que é a raiz quadrada da soma dos quadrados dos seus componentes. Divida o produto escalar pelo produto dos dois módulos e você tem o cosseno do ângulo. O ângulo em si é o arco cosseno desse número. Passar pelo cosseno em vez de ir direto ao ângulo é o truque inteiro, porque o cosseno é o que o produto escalar produz naturalmente, e é também o número que vale a pena olhar: ele vai de 1, para dois vetores que apontam no mesmo sentido, passa por 0 no ângulo reto e chega a −1, para dois vetores que apontam em sentidos opostos. Esses três são os resultados que as pessoas de fato reconhecem, e nenhum deles precisa de calculadora para ser notado. Vetores perpendiculares, o caso para o qual a página é mais usada, são os de cosseno exatamente zero. Todo o resto cai em algum ponto entre esses valores, e a página informa o resultado com quatro casas decimais, em graus e em radianos ao mesmo tempo, já que metade das fórmulas do mundo quer o segundo e a maioria das pessoas lê o primeiro. Uma entrada é recusada em vez de respondida: o vetor nulo, cujo módulo é zero e que, por isso, não tem direção nenhuma. Dividir pelo seu módulo para obter um cosseno seria dividir por zero, e devolver um ângulo de zero grau seria afirmar que ele aponta no mesmo sentido que o seu vetor, então a página recusa a conta inteira.
Pares de vetores e o ângulo entre eles
| Vetor u | Vetor v | Cosseno do ângulo | Ângulo (°) |
|---|---|---|---|
| 1 1 0 | 1 0 1 | 0.5 | 60 |
| 1 0 | 0 1 | 0 | 90 |
| 1 0 0 | 1 0 0 | 1 | 0 |
| -1 0 0 | 1 0 0 | -1 | 180 |
| 1 1 | 1 0 | 0.7071 | 45 |
| 3 4 0 | 4 3 0 | 0.96 | 16.2602 |
| 1 2 2 | 2 2 1 | 0.8889 | 27.266 |
| 2 -3 | 4 5 | -0.3032 | 107.6501 |
Oito pares, e a primeira linha é a que a página carrega. A coluna do cosseno é o motivo de a tabela existir: sozinha, a coluna do ângulo esconde o padrão, e com o cosseno ao lado os três valores especiais saltam aos olhos. A primeira linha é um cosseno de exatamente 0,5 dando exatamente 60 graus, e a sexta é um cosseno de 0,96 dando 16,26 graus — entre essas duas linhas está todo o aviso desta página, o de que o cosseno comprime a faixa de 0 a 90 graus dentro do intervalo de 1 a 0, e comprime de forma desigual. A segunda linha é o ângulo reto mais simples que existe e a terceira é um vetor contra ele mesmo, dando as duas pontas da faixa do cosseno, 0 e 1, com a quarta linha fornecendo a terceira ponta, em −1, ao parear um vetor com o seu próprio oposto. Essas três linhas juntas são a escala inteira. A quinta linha é um par de 45 graus, o meio ângulo reto que aparece o tempo todo na prática, e a sétima é a tridimensional desajeitada: os dois módulos são exatamente 3, mas o produto escalar é 8, então o cosseno é 8 ÷ 9 e não termina nunca. A oitava linha é um caso obtuso com componentes de sinais misturados: um cosseno de −0,3032 e um ângulo de 107,6501, os dois concordando como têm de concordar, já que um cosseno negativo e um ângulo abaixo de 90 graus não podem estar certos ao mesmo tempo. O valor em radianos, de propósito, não é uma coluna aqui — é o mesmo ângulo em outra notação, e uma quinta coluna não diria nada de novo. Cada número é recalculado quando a página é construída, e os espaços nas duas primeiras colunas são os separadores, não parte dos números. A tabela usa ponto como separador decimal, conforme o padrão do sistema.
Fórmula
cos θ = (u · v) ÷ (|u| × |v|) θ = arccos(cos θ) u · v = u₁v₁ + u₂v₂ + … + uₙvₙ
- Vetor u
- O primeiro vetor, escrito como seus componentes separados por espaços ou vírgulas: 1 1 0 para três dimensões, 0 3 para duas, ou quantos você precisar. Não há um número fixo de campos porque a página aceita qualquer dimensão, e os dois vetores precisam ter a mesma quantidade de componentes entre si
- Vetor v
- O segundo vetor, escrito do mesmo jeito e com a mesma quantidade de componentes do primeiro. Trocar os dois vetores não muda nada — o ângulo entre eles é o mesmo nas duas ordens
- u · v
- O produto escalar, que esta página usa mas não imprime: multiplique os dois primeiros componentes, os dois segundos, e assim por diante, e some os produtos. Aqui ele é a matéria-prima do ângulo, não uma resposta por si só
- |u| e |v|
- O módulo de cada vetor, na unidade em que os componentes foram medidos: a raiz quadrada da soma dos quadrados dos seus componentes. São os dois números pelos quais o produto escalar é dividido, e cada um é assunto do seu próprio vetor — um deles ser grande não diz nada sobre o outro
- cos θ
- O cosseno do ângulo entre os dois vetores: o produto escalar dividido pelo produto dos dois módulos. Ele vai de 1, para vetores que apontam no mesmo sentido, passa por 0 no ângulo reto e chega a −1, para vetores que apontam em sentidos opostos, e nunca sai dessa faixa. É desse número que o ângulo é de fato calculado, e é por isso que a página o imprime
- θ
- O ângulo entre os dois vetores, em graus, de 0 quando eles apontam no mesmo sentido, passando por 90 quando são perpendiculares, até 180 quando apontam em sentidos opostos. É o arco cosseno do número acima, então herda a faixa dele e nunca pode voltar fora dela
- Radianos
- O mesmo ângulo escrito do outro jeito: 180 graus são π radianos, 90 é metade disso, e a saída é um número puro, sem unidade. As fórmulas de cálculo e a maioria das linguagens de programação querem radianos, então a página dá os dois em vez de obrigar você a multiplicar por π e dividir por 180
- Graus
- A unidade da saída principal, e a única saída da página que tem unidade. O cosseno e o valor em radianos são números puros
- Quatro casas decimais
- A largura com que todas as saídas são escritas. O cosseno só é exato nos casos especiais — 0, 0,5, 1 e −1 — e o ângulo só é exato quando o cosseno é um desses, então quase toda linha desta página carrega números arredondados
Esta é a página para quando você quer o ângulo em si, e não apenas a relação entre duas direções. Três ângulos valem ser reconhecidos sem conta nenhuma: um cosseno de 1 significa 0 grau e vetores que apontam no mesmo sentido, um cosseno de 0 significa 90 graus e vetores perpendiculares, e um cosseno de −1 significa 180 graus e vetores em sentidos opostos. Qualquer outro valor é um ângulo de verdade, e a página o dá com quatro casas decimais. O uso real mais comum é conferir uma direção contra uma de referência — quanto o vento virou em relação ao norte, quanto uma câmera girou, quanto uma direção medida se afastou da que deveria ter. Problemas de geometria com duas direções conhecidas são a mesma conta, e o ângulo entre duas retas também, depois que você escreve cada uma como vetor. A conferência útil em qualquer resposta é que o cosseno e o ângulo contem a mesma história: um cosseno acima de zero sempre anda junto com um ângulo abaixo de 90 graus, um cosseno negativo com um ângulo acima disso, e um cosseno de zero com exatamente 90. Se os dois discordarem, os componentes não são o que você pensava. A saída em radianos existe para o caso em que o ângulo vai entrar numa fórmula ou numa linha de código, já que essas quase sempre querem radianos, e converter à mão é de onde vêm os erros de sinal e os erros de fator 180.
Exemplos resolvidos
1 1 0 e 1 0 1
- Produto escalar: 1 × 1 + 1 × 0 + 0 × 1 = 1
- Módulo de u: √(1 + 1 + 0) = √2 = 1,414214
- Módulo de v: √(1 + 0 + 1) = √2 = 1,414214
- Cosseno: 1 ÷ (1,414214 × 1,414214) = 1 ÷ 2 = 0,5
- Ângulo: o arco cosseno de 0,5 é 60 graus, que são 60 × π ÷ 180 = 1,047198 radianos
A entrada com que a página abre, e a linha mais limpa que existe: o cosseno dá exatamente um meio e o ângulo, exatamente 60 graus. Repare que o produto escalar, 1, não aparece em lugar nenhum do painel — esta página imprime o cosseno e o ângulo, e o produto escalar é o passo do meio. Os dois módulos são a raiz de dois, então o produto deles é exatamente 2, e é por isso que o cosseno e o ângulo saem exatos em vez de arredondados.
3 4 0 e 4 3 0
- Produto escalar: 3 × 4 + 4 × 3 + 0 × 0 = 24
- Módulo de cada um: √(9 + 16) = 5, já que o terceiro componente é zero
- Cosseno: 24 ÷ (5 × 5) = 0,96
- Ângulo: o arco cosseno de 0,96 é 16,2602 graus, que são 0,2838 radianos
A linha que mostra por que vale a pena imprimir o cosseno. Um cosseno de 0,96 soa como dois vetores quase idênticos, e o ângulo é de 16,26 graus — cerca de um sexto de um ângulo reto. O cosseno comprime toda a faixa de 0 a 90 graus dentro dos números entre 1 e 0, e comprime de forma desigual, que é por que ler o cosseno como fração de qualquer coisa dá errado. Aqui os dois módulos são exatamente 5, então o triângulo 3-4-5 está fazendo o trabalho de sempre.
1 0 e 0 1
- Produto escalar: 1 × 0 + 0 × 1 = 0
- Módulo de cada um: 1
- Cosseno: 0 ÷ 1 = 0
- Ângulo: o arco cosseno de zero é exatamente 90 graus, que são 1,570796 radianos
A resposta pela qual a página é mais aberta, e o caso exato: um cosseno de zero significa vetores perpendiculares, e o ângulo volta como exatamente 90, não como um número arredondado. Esses dois são o par perpendicular mais simples que existe, um ao longo do eixo x e outro ao longo do eixo y. O valor em radianos, 1,5708, é π ÷ 2.
-1 0 0 e 1 0 0
- Produto escalar: (−1) × 1 + 0 × 0 + 0 × 0 = −1
- Módulo de cada um: 1
- Cosseno: −1 ÷ 1 = −1
- Ângulo: o arco cosseno de −1 é exatamente 180 graus, que são 3,141593 radianos
A outra ponta da faixa. Um cosseno de −1 é o maior ângulo que dois vetores podem fazer, 180 graus, e o valor em radianos é π. Dois vetores apontando em sentidos exatamente opostos continuam sendo dois vetores, e o ângulo entre eles não é zero — esta é a linha para olhar quando uma resposta de 180 parece errada. Não é: oposto é uma relação, do mesmo jeito que paralelo é.
2 -3 e 4 5
- Produto escalar: 2 × 4 + (−3) × 5 = 8 − 15 = −7
- Módulo de u: √(4 + 9) = √13 = 3,605551
- Módulo de v: √(16 + 25) = √41 = 6,403124
- Cosseno: −7 ÷ (3,605551 × 6,403124) = −7 ÷ 23,086793 = −0,303201
- Ângulo: o arco cosseno de −0,303201 é 107,6501 graus, que são 1,8788 radianos
Uma resposta obtusa, que é o caso que pega as pessoas de surpresa: dois vetores podem formar um ângulo maior que 90 graus, e formam sempre que o produto escalar é negativo. Um componente de u é negativo aqui, que é como se escreve um vetor apontando para a esquerda ou para baixo. O cosseno de −0,3032 é pequeno, mas o sinal dele é a mensagem inteira — ele diz que os dois vetores se inclinam para lados opostos, e o ângulo de 107,6501 graus concorda com isso.
Limitações
Os dois vetores precisam ter a mesma quantidade de componentes, e um par que não bate é recusado em vez de completado com zeros. O vetor nulo é recusado por inteiro: um vetor cujos componentes são todos zero não tem direção, então o ângulo entre ele e qualquer outra coisa é indefinido, e a página recusa a conta toda em vez de mostrar um ângulo de zero que seria lido como «aponta no mesmo sentido». Os componentes são lidos como números comuns: espaço, vírgula seguida de espaço ou ponto e vírgula separam componentes, e uma vírgula ou um ponto colado nos dígitos é o separador decimal, então 1,5 e 1.5 valem um e meio. Um separador seguido de exatamente três dígitos, porém, é recusado em vez de adivinhado, porque não há como saber se é agrupamento de milhar ou decimal: escreva 1500, e não 1.500 nem 1,500. Cada vetor aceita até 200 componentes, muito além de qualquer caso escrito à mão, mas longe dos tamanhos que um fluxo de dados usaria. O produto escalar não está entre as saídas, de propósito: ele é o passo do qual o ângulo é calculado, e a página que o imprime como resposta é outra. Quatro casas decimais é uma largura de exibição, não uma promessa de precisão, e as duas saídas são calculadas a partir dos módulos sem arredondamento, então multiplicar de volta os números impressos pode não reproduzir o ângulo impresso exatamente. Nada na página sabe em que os componentes foram medidos — as entradas são números puros, e o cosseno e o valor em radianos também, sendo os graus a única unidade em toda a página.
Perguntas frequentes
- Como eu digito os componentes?
- Separe-os com espaços ou com vírgula e espaço: 1 1 0 e 1, 1, 0 funcionam igual. Vírgula ou ponto colado nos dígitos é lido como separador decimal (1,5 e 1.5 valem um e meio); um agrupamento de milhar como 1.500 ou 1,500 é recusado em vez de adivinhado, então escreva 1500. Os dois vetores precisam ter a mesma quantidade de componentes, e não há limite de quantos desde que batam — duas dimensões e três dimensões são a mesma página.
- Para que serve o cosseno do ângulo?
- É o número do qual o ângulo é calculado, e nos três casos que importam ele é mais fácil de ler que o ângulo. Um cosseno de 1 significa vetores no mesmo sentido, 0 significa perpendiculares e −1 significa opostos. Qualquer valor no meio é um ângulo de verdade, e a página o dá em graus e em radianos.
- Como eu sei se dois vetores são perpendiculares?
- O cosseno do ângulo entre eles é zero, e a página vai mostrar exatamente 90 graus. Esse teste não precisa de nada da trigonometria que a saída de ângulo usa — ele é verdadeiro exatamente quando o produto escalar é zero, o que exige só as multiplicações. Esta página mostra o cosseno justamente para que o caso do ângulo reto fique visível sem conta nenhuma.
- Por que o ângulo nunca passa de 180 graus?
- Porque o cosseno do ângulo está limitado entre −1 e 1, e o arco cosseno só devolve valores de 0 a 180 graus. Um ângulo de 180 graus significa que os dois vetores apontam em sentidos exatamente opostos, e não existe ângulo de 200 graus entre duas direções — 200 e 160 descrevem o mesmo par de setas.
- Por que há duas saídas de ângulo, graus e radianos?
- Porque os dois públicos são diferentes. As pessoas leem graus; fórmulas e linguagens de programação quase sempre querem radianos, e 180 graus são π radianos. Imprimir os dois significa que ninguém precisa multiplicar por π e dividir por 180, que é de onde vêm os erros de fator 180. O valor em radianos é um número puro, sem unidade.
- Por que a página recusa um vetor de componentes todos zero?
- Porque o vetor nulo não tem direção, então o ângulo entre ele e qualquer outra coisa é indefinido. O módulo dele é zero e o cosseno é o produto escalar dividido pelo produto dos dois módulos, então calculá-lo seria dividir por zero. Uma página que devolvesse 0 grau estaria dizendo que ele aponta no mesmo sentido que o seu vetor, o que é uma afirmação sobre uma direção que não existe.
Referências
- Dot product — the sum of the products of corresponding components, and the identity equating it to the two lengths times the cosine of the angle, which is the equation this page solves backwards — Wolfram MathWorld (United States)
- Vector — the object with a magnitude and a direction whose components this page reads, and whose length is the square root of the sum of the squares of those components — Wolfram MathWorld (United States)
- Perpendicular — the right-angle relation, the one case where the cosine is exactly zero and the angle exactly 90 degrees, and the reason this calculation is worth doing at all — Wolfram MathWorld (United States)