Calculadora de produto escalar
Digite dois vetores do mesmo tamanho e obtenha o produto escalar, os dois comprimentos e o ângulo entre eles: [1, 2, 3] e [4, −5, 6] dão 12 e um ângulo agudo. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Primeiro texto
- 1, 2, 3
- Segundo texto
- 4, -5, 6
- N
- 3
- Produto escalar
- 12
- Módulo a
- 3,7416573868
- Módulo b
- 8,7749643874
Uma calculadora de produto escalar transforma dois vetores de mesmo comprimento no escalar a·b, nos comprimentos euclidianos de cada um, no cosseno do ângulo entre eles e no próprio ângulo em radianos e em graus. Informe o vetor a e o vetor b como arrays de números finitos com a mesma dimensão; a ferramenta soma os produtos componente a componente, tira raízes quadradas para os módulos e aplica arccos ao cosseno limitado para que o erro de ponto flutuante não invente um ângulo inválido. Vetores nulos tornam o ângulo indefinido, então esse caso também é rejeitado.
O que significam o produto escalar e o ângulo
Esse único número real é positivo quando os vetores formam ângulo agudo, zero quando são ortogonais (perpendiculares) e negativo quando o ângulo é obtuso. O módulo euclidiano de um vetor é a raiz quadrada do seu produto escalar consigo mesmo, de modo que |a| é a raiz de a·a e |b| a de b·b.
A definição geométrica diz então que a·b é igual a |a| vezes |b| vezes cos θ, o que se reordena a θ igual a arccos de (a·b) dividido por (|a||b|) sempre que ambos os módulos sejam estritamente positivos. Professores, programadores de gráficos e profissionais de aprendizado de máquina se importam com essa identidade: é a base de projeção, normais de iluminação, similaridade de cosseno e da verificação de que duas arestas de uma malha são perpendiculares.
Esta ferramenta também rotula a relação como ortogonal, paralela no mesmo sentido, paralela no sentido oposto, aguda ou obtusa, para que você possa afirmar a orientação sem rederivar limiares. Comprimentos diferentes são erro duro porque a soma de produtos só é definida quando cada componente tem par —preencher com zeros mudaria o significado geométrico e esconderia bugs de forma no código cliente.
Dicas práticas, limites e buscas relacionadas
Mantenha ambos os vetores com o mesmo comprimento antes de chamar; se os dados de origem às vezes omitem um zero final, corrija a forma a montante em vez de confiar em preenchimento silencioso. Prefira arrays numéricos a strings pré-formatadas quando controlar o cliente; formas em string só são aceitas se cada token coincidir com um padrão numérico finito estrito.
Resultados quase ortogonais em ponto flutuante podem ficar ligeiramente fora de zero após o arredondamento —se precisar de um ângulo reto duro para testes, use inteiros exatos como [1, 0] e [0, 1]. Esta página mira quem busca uma calculadora de produto escalar, o ângulo entre dois vetores ou similaridade de cosseno de listas de coordenadas; não é ferramenta de produto vetorial (que precisa de três dimensões e devolve um vetor), nem serviço de multiplicação de matrizes, nem sistema de álgebra simbólica.
Prefira esta capacidade quando já tiver componentes numéricos e precisar de a·b mais θ; se a fonte for um problema enunciado, extraia primeiro as duas listas de coordenadas.
Casos de uso
Testes unitários de código gráfico e físico
Gere pares ortogonais, agudos, obtusos e paralelos de referência mais rejeições deliberadas por comprimento diferente para valores esperados em motores de jogo e de física.
Similaridade de cosseno prévia em pipelines
Jobs de dados validam comprimentos iguais de embeddings, calculam o produto escalar e o ângulo, e ramificam segundo relation antes de agrupar, ranquear ou calcular iluminação.
Perguntas frequentes
O que acontece se os vetores têm comprimentos diferentes?
A soma componente a componente só é definida quando ambos os vetores compartilham a mesma dimensão.
Como se calcula o ângulo entre vetores?
θ = arccos( (a·b) / (|a||b|) ), com cos θ limitado a [-1, 1] por segurança numérica. Os resultados vêm em radianos e em graus.
A calculadora de produto escalar é grátis?
A ferramenta do navegador é grátis e roda localmente.
Como calcular o produto escalar de dois vetores?
Multiplique as componentes que estão na mesma posição e some os resultados. Para [1, 2, 3] e [4, −5, 6] isso dá 4 − 10 + 18, ou seja, 12.
O que significa um produto escalar igual a zero?
Significa que os dois vetores são perpendiculares, formando um ângulo reto. A calculadora indica esse caso como ortogonal e também mostra se o ângulo é agudo, obtuso ou se os vetores são paralelos.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/algebra/dot-product \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":[1,2,3],"b":[4,-5,6]}'const res = await fetch("https://api.kit.forhosting.com/algebra/dot-product", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": [
1,
2,
3
],
"b": [
4,
-5,
6
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/algebra/dot-product",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": [
1,
2,
3
],
"b": [
4,
-5,
6
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/algebra/dot-product", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":[1,2,3],"b":[4,-5,6]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":[1,2,3],"b":[4,-5,6]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/algebra/dot-product", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"a": [
1,
2,
3
],
"b": [
4,
-5,
6
]
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "algebra.dot_product",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_abs | 1000000000000 |
max_dim | 1000 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Quando os dois vetores têm comprimentos diferentes a API devolve um erro claro invalid_input em vez de preencher ou truncar em silêncio —exatamente o que checadores de lição, pipelines gráficos e testes unitários precisam quando um bug de forma se esconderia como ângulo errado. O caminho é aritmética determinística pura —sem rede, sem sementes aleatórias, sem relógio— de modo que o executor gratuito do navegador e a API pré-paga devolvem o mesmo JSON após arredondamento fixo a doze casas decimais a cada chamada.
O que significam o produto escalar e o ângulo
Para dois vetores reais a e b da mesma dimensão n, o produto escalar é a soma de i igual a um até n de a_i vezes b_i.
Como chamar a API e o que volta na resposta
Cada um deve ser um array não vazio de números finitos, ou uma string que se interprete como lista entre colchetes ou separada por vírgulas ou espaços de números finitos. Envie um corpo JSON com dois campos obrigatórios: a (aliases u, vector_a, vec1) e b (aliases v, vector_b, vec2). As dimensões devem coincidir exatamente e não ultrapassar mil componentes; cada valor absoluto de componente deve permanecer dentro de um trilhão para que as somas de quadrados intermediárias fiquem finitas em precisão dupla IEEE no Worker e no navegador. Em sucesso a resposta ecoa a e b arredondados, define n como o comprimento compartilhado, dot_product como o escalar arredondado, magnitude_a e magnitude_b como os comprimentos euclidianos arredondados, cosine como o cos θ limitado, angle_rad e angle_deg como o ângulo nas duas unidades, relation como um dos cinco rótulos de orientação, formula como a string da identidade definidora, message como um resumo curto e steps como um array ordenado de linhas de substituição que você pode mostrar em uma folha ou afirmar em testes. Validação falha —campos ausentes, entrada que não é array, vetores vazios, comprimentos diferentes, componentes não finitos, valores fora dos limites absolutos, dimensão acima do máximo publicado, módulo nulo ou intermediário não finito— devolve invalid_input e nunca é cobrada. O preço é um US$ 0,002 fixo por requisição bem-sucedida com unidade item e preço unitário marginal zero.
Dicas práticas, limites e buscas relacionadas
Ao ensinar, combine casos clássicos: [1, 2, 3] com [4, −5, 6] para produto de sinais mistos e ângulo agudo ou obtuso conforme a soma; [1, 0] com [0, 1] para demo ortogonal pura; [1, 2] com [2, 4] para paralelo no mesmo sentido; e comprimentos deliberadamente diferentes como [1, 2] versus [1, 2, 3] para a rota invalid_input. Tarefas falhas que devolvem invalid_input não consomem saldo pré-pago, o que mantém baratos scripts exploratórios quando aprendizes enviam de propósito comprimentos diferentes. Cheques de ida e volta são fáceis: recalcule à mão a soma de produtos, confirme os módulos com uma calculadora de bolso e verifique que angle_deg é cerca de cento e oitenta sobre pi vezes angle_rad dentro do arredondamento publicado a doze casas.
Casos de integração
Checagem de lição de geometria vetorial
Alunos informam duas listas de coordenadas de exercícios do livro e comparam o a·b, |a|, |b| e θ manuscritos com um resultado JSON determinístico antes de entregar.
Perguntas técnicas
O que é o produto escalar de dois vetores?
Para vetores a e b de mesmo comprimento, a·b é a soma de a_i vezes b_i em cada componente. Geometricamente equivale a |a||b|cos θ.
Algum dos vetores pode ser o vetor nulo?
Não na rota do ângulo. Um módulo nulo torna cos θ indefinido, então a API rejeita vetores nulos com invalid_input.