Calcolatrice di proiezione vettoriale
Proiettando (3, 4) su (1, 0) ottiene una proiezione scalare di 3, il vettore (3, 0) e un resto perpendicolare (0, 4). Le serve per scomporre una forza lungo un cavo o verificare un residuo. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Primo testo
- 3, 4
- Secondo testo
- 1, 0
- Proiezione scalare
- 3
- Proiezione vettoriale
- 3, 0
- Ortogonale
- 0, 4
- Prodotto scalare
- 3
La proiezione vettoriale risponde a una domanda di base dell'algebra lineare: quanto di un vettore punta lungo un altro, e quale vettore è quel pezzo parallelo? Dato un vettore sorgente a e un target b non nullo, la proiezione scalare è la lunghezza con segno di a lungo la direzione unitaria di b, e la proiezione vettoriale è l'unico multiplo di b più vicino ad a in distanza euclidea. Quei due numeri e quel vettore parallelo compaiono nei problemi di lavoro e forza, lunghezze d'ombra, residui dei minimi quadrati, illuminazione grafica e in ogni corso che costruisce basi ortonormali.
Cosa significano proiezione scalare e vettoriale
Fissi un vettore target b non nullo in R alla potenza di n. Il vettore unitario nella direzione di b è b diviso per la sua norma euclidea. La proiezione scalare di a su b è il prodotto scalare ordinario di a con quel vettore unitario: è positiva quando a e b formano un angolo acuto, negativa quando l'angolo è ottuso e zero quando sono ortogonali.
La proiezione vettoriale moltiplica quella lunghezza con segno per la direzione unitaria, o equivalentemente moltiplica b per il rapporto di a punto b su b punto b. Il risultato giace sempre sulla retta generata da b ed è il punto di quella retta più vicino ad a. La differenza a meno il vettore di proiezione è ortogonale a b; quel residuo è la parte di a che non può essere spiegata da un multiplo del target.
Queste identità valgono in ogni dimensione maggiore o uguale a uno, purché entrambi i vettori condividano lo stesso numero di componenti e b non sia il vettore nullo. Se b è zero, la divisione per la norma è indefinita, quindi questa calcolatrice rifiuta la richiesta invece di emettere NaN.
Gli esempi di aula usano spesso coppie bidimensionali come a uguale a tre quattro e b uguale a uno zero, dove la proiezione cade nettamente sul primo asse; le stesse formule si applicano senza cambiamento a forze tridimensionali o vettori di caratteristiche di dimensione superiore. Capire prima lo scalare con segno rende meccanica la formula vettoriale: si scalino la direzione unitaria per quello scalare, o si scali b per il rapporto dei due prodotti scalari.
Uso pratico, prezzi, limiti e consegna
Usi lo strumento del browser quando desidera una proiezione scalare e vettoriale immediata controllando i compiti, preparando una diapositiva di lezione, scomponendo una forza lungo un cavo o debuggando un residuo che dovrebbe essere ortogonale a una direzione di progetto. Non c'è modello di linguaggio, né servizio esterno di algebra lineare, né casualità, quindi la capacità è sicura da fissare in controlli di integrazione continua e materiali di lezione riproducibili. I risultati sono pienamente deterministici: gli stessi a e b producono sempre lo stesso scalare, vettore e residuo.
Preferisca questo strumento quando la storia geometrica è la proiezione su una sola direzione; per sottospazi multi-vettore, minimi quadrati sullo span delle colonne di una matrice o prodotti vettoriali, usi un'altra capacità. Mantenga i componenti entro magnitudini floating ordinarie così l'overflow intermedio non è un problema; per interi di aula e scale di ingegneria tipiche il solver è esatto entro la precisione double. Input e output di origine seguono le stesse regole di conservazione degli altri elementi parse di KIT, e un'attività fallita non viene mai addebitata dopo la validazione.
Casi d'uso
Verifica di compiti e tutoraggio
Studenti e correttori confermano proiezioni scalari e vettoriali per coppie di uguale lunghezza, con fallimenti chiari quando il vettore target è nullo o le dimensioni differiscono, senza installare un CAS locale.
Controlli di componenti di forza e lavoro
Script di laboratorio che scompongono una forza lungo un cavo o calcolano pezzi paralleli legati al lavoro chiamano un oracolo di proiezione deterministico invece di reimplementare norma e zeri in ogni linguaggio.
Domande frequenti
Cosa succede se il vettore target è il vettore nullo?
La proiezione è indefinita quando il vettore onto ha lunghezza zero.
E se a e b hanno lunghezze diverse?
La proiezione richiede la stessa dimensione; non c'è riempimento silenzioso.
La calcolatrice di proiezione vettoriale è gratis?
Lo strumento del browser gira gratis sul Suo dispositivo.
Proietta su un piano o un sottospazio multi-vettore?
No. Questa capacità proietta su una sola direzione b non nulla. Le proiezioni su sottospazi multi-vettore richiedono un'altra capacità o libreria.
Come si proietta (3, 4) su (1, 0)?
Divida il prodotto scalare dei due vettori per la lunghezza del vettore di destinazione: qui la proiezione scalare è 3. Moltiplicandola per la direzione della destinazione ottiene il vettore (3, 0); il resto (0, 4) è perpendicolare.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/algebra/vector-projection \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":[3,4],"b":[1,0]}'const res = await fetch("https://api.kit.forhosting.com/algebra/vector-projection", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": [
3,
4
],
"b": [
1,
0
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/algebra/vector-projection",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": [
3,
4
],
"b": [
1,
0
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/algebra/vector-projection", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":[3,4],"b":[1,0]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":[3,4],"b":[1,0]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/algebra/vector-projection", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"a": [
3,
4
],
"b": [
1,
0
]
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "algebra.vector_projection",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Questa capacità prende due vettori numerici di uguale lunghezza, rifiuta un target nullo e dimensioni non corrispondenti con invalid_input, e restituisce la proiezione scalare, il vettore di proiezione, il residuo ortogonale, il prodotto scalare grezzo e la norma del target.
Come chiamare la calcolatrice e leggere la risposta
Ciascuno è un array non vuoto di numeri finiti di uguale lunghezza. Quando b si interpreta correttamente ma ogni componente è zero, la richiesta fallisce anche con un messaggio chiaro che il vettore target è il vettore nullo e la proiezione è indefinita. La polvere floating quasi zero viene pulita così goldens e demo restano stabili, mentre i reali non interi ordinari mantengono la piena precisione double. Invii un corpo JSON con i campi obbligatori a e b. Può usare gli alias vector, u o source per a, e onto, v o target per b; sono accettate anche stringhe JSON degli stessi array quando un client serializza dati annidati come testo. Il motore rifiuta campi mancanti, array vuoti, componenti non numerici, celle Infinity o NaN e lunghezze disuguali con invalid_input, e tali fallimenti non sono addebitati. In caso di successo la risposta include scalar_projection (lunghezza con segno lungo l'unitario di b), vector_projection (la componente parallela come array), orthogonal (a meno quella proiezione), dot (a·b), onto_norm (la lunghezza euclidea di b), dimension e campi eco a e b con i vettori numerici analizzati. Colleghi l'endpoint a script che parlano già JSON e necessitano di un contratto stabile anziché reimplementare controlli di zero e regole di dimensione in ogni linguaggio.
Uso pratico, prezzi, limiti e consegna
Usi l'API quando una piattaforma di tutoraggio, un sandbox di colloquio di programmazione, un taccuino di laboratorio di fisica, un aiutante di grafica o una pipeline di metodi numerici necessita di JSON stabile per molte coppie di vettori sotto un unico contratto. Ogni richiesta riuscita è un elemento fatturabile a $0.002; le validazioni fallite, i disallineamenti di dimensione e i rifiuti per target nullo non consumano il saldo.
Casi di integrazione
Pipeline di residui e grafica
Strumenti grafici e numerici che dividono un vettore in parti parallela e perpendicolare rispetto a una direzione di luce o vista ottengono JSON stabile per la proiezione e il residuo ortogonale.
Domande tecniche
Come si proietta il vettore a sul vettore b con questa API?
Invii JSON con a e b come array di numeri finiti di uguale lunghezza. La risposta restituisce scalar_projection, vector_projection, residuo orthogonal, dot, onto_norm e dimension.