Intersezione retta-piano
Una retta che parte dall'origine nella direzione (1, 1, 1) incontra il piano orizzontale ad altezza 1 nel punto (1, 1, 1), con t uguale a 1. Inserisca un punto, una direzione e i coefficienti del piano per ottenere l'incontro. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- X0
- 0
- Y0
- 0
- Z0
- 0
- Dx
- 1
- Dy
- 1
- Dz
- 1
- T
- 1
- X
- 1
- Y
- 1
- Z
- 1
Una retta e un piano nello spazio tridimensionale si incontrano in esattamente un punto, non si incontrano mai perché sono paralleli, oppure coincidono in modo che ogni punto della retta giaccia sul piano. Il caso di intersezione unica è la domanda quotidiana di compiti, CAD e motori di gioco: dati un punto e una direzione noti della retta e l'equazione generale del piano ax più by più cz più d uguale a zero, quali sono le coordinate dell'incontro? Questa capacità accetta dieci numeri—l'origine della retta (x0, y0, z0), la direzione (dx, dy, dz) e i coefficienti del piano a, b, c, d—, rifiuta una direzione nulla, una normale di piano nulla e qualsiasi configurazione parallela, e restituisce il parametro parametrico t insieme al punto di intersezione (x, y, z).
Cos'è l'intersezione retta-piano e come funziona la formula
Scriva la retta infinita in forma parametrica come un punto più uno scalare per una direzione: P di t è uguale a (x0, y0, z0) più t per (dx, dy, dz). Scriva il piano infinito in forma cartesiana generale come a per x più b per y più c per z più d uguale a zero, così il vettore normale N è (a, b, c).
Sostituire il punto parametrico nell'equazione del piano produce N prodotto scalare con P di t più d uguale a zero, che si espande in N prodotto scalare con il punto di origine più t per (N prodotto scalare con D) più d uguale a zero. Risolvere il parametro libero dà t uguale a meno il residuo all'origine diviso per il prodotto normale-direzione N·D.
Quando N·D è approssimativamente zero la direzione della retta è ortogonale alla normale del piano, quindi la retta è parallela al piano: o non lo incontra mai oppure giace interamente al suo interno. Un controllo classico è la retta per l'origine con direzione (1, 1, 1) contro il piano orizzontale z uguale a uno (a uguale a zero, b uguale a zero, c uguale a uno, d uguale a meno uno): N·D è uno, il residuo è meno uno, t è uno e l'incontro è (1, 1, 1).
Un altro controllo è qualsiasi retta a direzione orizzontale contro un piano orizzontale a un'altra altezza: il motore deve fallire con un messaggio di parallelo.
Consigli pratici, limiti, ricerche correlate e quando non usarla
Se il Suo piano è dato da tre punti non collineari, formi due vettori di spigolo, prenda il loro prodotto vettoriale per ottenere (a, b, c), poi fissi d in modo che uno dei tre punti soddisfi l'equazione. Se la Sua retta è data da due punti distinti A e B, fissi l'origine in A e la direzione in B meno A.
Nell'insegnare, preferisca esempi accoppiati: origine con direzione uno-uno-uno contro z uguale a uno per l'incontro in (1, 1, 1); una retta verticale contro un piano inclinato per un t non unitario; e una direzione orizzontale contro un piano orizzontale per dimostrare il percorso di rifiuto duro del parallelo. Questa pagina si rivolge a chi cerca una calcolatrice di intersezione retta-piano, retta parametrica 3D che incontra un piano, o trovare il punto di intersezione di una retta con ax più by più cz più d uguale a zero.
Non è uno strumento di clip di raggi che si ferma a un triangolo, né un clip solo di segmento che ignora incontri fuori da [0, 1], né un aiutante di intersezione retta-retta in 2D—sono intenzioni di ricerca diverse con contratti diversi. Preferisca questa capacità quando dispone già di una retta punto-direzione e della forma generale di un piano infinito in tre dimensioni.
I controlli andata e ritorno sono facili: dopo la risoluzione, sostituisca il (x, y, z) restituito in a x più b y più c z più d e confermi che il residuo è approssimativamente zero, e confermi che (x, y, z) è uguale a (x0, y0, z0) più t per (dx, dy, dz) entro la tolleranza floating.
Casi d'uso
Raggio o retta contro piano di pavimento, muro o tetto
Recuperi dove una retta diretta incontra un piano di cantiere o di gioco in forma generale, con errore duro quando la retta è parallela.
Domande frequenti
Qual è la formula di intersezione retta-piano?
L'incontro è P(t). Se il denominatore è zero, la retta è parallela.
Perché una retta parallela dà errore invece di restituire null?
Quando N·D≈0 non c'è intersezione oppure ce ne sono infinite (retta nel piano).
Ritaglia a un raggio o a un segmento?
No. Trova l'intersezione unica della retta infinita con il piano infinito. Limitare t≥0 (raggio) o t∈[0,1] (segmento) è un filtro separato che Lei può applicare sul t restituito.
La calcolatrice di intersezione retta-piano è gratuita?
Lo strumento del browser è gratuito e gira in locale.
Cosa succede se la retta è parallela al piano?
Se la direzione è perpendicolare al vettore normale del piano, la retta non lo incontra mai oppure giace tutta al suo interno. Nessuno dei due casi ha un punto unico, quindi il dato viene rifiutato con un messaggio invece di una risposta inventata.
Come si usa un piano dato da tre punti?
Costruisca due vettori a partire dai tre punti e ne calcoli il prodotto vettoriale: ottiene i coefficienti a, b e c. Poi scelga d in modo che uno dei tre punti soddisfi l'equazione e inserisca i quattro numeri.
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/geom/line-plane-intersection \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"x0":0,"y0":0,"z0":0,"dx":1,"dy":1,"dz":1,"a":0,"b":0,"c":1,"d":-1}'const res = await fetch("https://api.kit.forhosting.com/geom/line-plane-intersection", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"x0": 0,
"y0": 0,
"z0": 0,
"dx": 1,
"dy": 1,
"dz": 1,
"a": 0,
"b": 0,
"c": 1,
"d": -1
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geom/line-plane-intersection",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"x0": 0,
"y0": 0,
"z0": 0,
"dx": 1,
"dy": 1,
"dz": 1,
"a": 0,
"b": 0,
"c": 1,
"d": -1
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geom/line-plane-intersection", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"x0":0,"y0":0,"z0":0,"dx":1,"dy":1,"dz":1,"a":0,"b":0,"c":1,"d":-1}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"x0":0,"y0":0,"z0":0,"dx":1,"dy":1,"dz":1,"a":0,"b":0,"c":1,"d":-1}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geom/line-plane-intersection", 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
{
"x0": 0,
"y0": 0,
"z0": 0,
"dx": 1,
"dy": 1,
"dz": 1,
"a": 0,
"b": 0,
"c": 1,
"d": -1
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geom.line_plane_intersection",
"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
Cos'è l'intersezione retta-piano e come funziona la formula
Le coordinate di intersezione sono allora x uguale a x0 più t per dx, e lo stesso schema per y e z. Entrambi i casi paralleli distruggono l'unicità, perciò questa calcolatrice restituisce invalid_input invece di inventare un solo punto. Ogni passo è aritmetica elementare—senza iterazione, senza campionamento, senza dipendenza dall'orologio di parete—, così lo studente può ricalcolare t a mano con piccoli interi e confrontare l'API riga per riga.
Come chiamare l'API e cosa restituisce
La usi in pipeline di compiti di geometria dello spazio, controlli raggio contro pavimento in motori semplici, script di ingombro CAD, sandbox di preparazione a colloqui o qualsiasi flusso che necessiti di un incontro retta-piano riproducibile senza installare un pacchetto di algebra computazionale su ogni macchina. Invii un corpo JSON con dieci campi numerici. Il campo x0 è la prima coordinata di un punto noto della retta; sono accettati gli alias px, point_x e ox. Il campo y0 è la seconda coordinata; gli alias py, point_y e oy hanno lo stesso significato. Il campo z0 è la terza coordinata; funzionano gli alias pz, point_z e oz. I campi dx, dy e dz sono le componenti di direzione; sono accettati gli alias vx, dir_x e i nomi corrispondenti in y e z. I campi a, b, c e d sono i coefficienti del piano; funzionano gli alias A, coeff_a, nx e le forme analoghe per b, c e d. In caso di successo la risposta ripete le dieci entrate, aggiunge il parametro t, le coordinate dell'incontro x, y e z, imposta parallel a false e method a parametric_dot così i chiamanti possono affermare l'algoritmo nei test. La validazione fallita—campo obbligatorio mancante, numero non finito, valore fuori dai limiti assoluti pubblicati, vettore di direzione nullo, normale di piano nulla o retta parallela dove N·D si annulla—restituisce invalid_input e non viene mai addebitata. Il prezzo è un fisso di $0.002 per richiesta riuscita con unità item. Non c'è modello di linguaggio, né servizio geometrico esterno, né casualità, quindi la capacità è sicura da fissare in controlli di integrazione continua e materiali didattici riproducibili che confrontano oggetti JSON completi byte per byte.
Consigli pratici, limiti, ricerche correlate e quando non usarla
Mantenga coordinate e coefficienti entro l'intervallo assoluto pubblicato adatto a figure CAD e d'aula ordinarie affinché i prodotti intermedi restino finiti in precisione doppia IEEE sul Worker e nel browser. Le unità sono quelle che Lei passa—metri, piedi o unità di gioco—purché l'origine della retta, le componenti di direzione e i coefficienti del piano siano coerenti; l'API non converte le unità per Lei. Le attività fallite che restituiscono invalid_input non consumano il saldo prepagato, il che mantiene economici gli script esplorativi quando l'utente digita una direzione parallela imparando il contratto.
Casi di integrazione
Controlli di compiti ed esami per incontri retta-piano
Dia agli studenti una retta parametrica e un piano ax+by+cz+d=0; confronti il loro punto di intersezione e il parametro t calcolati a mano con un risultato deterministico di API o del browser gratuito.
Fixture per CAD, robotica e strumenti di mesh
Gli script che seminano test unitari o collocano ancore dove un percorso incontra un vincolo planare possono chiamare un oracolo puro di intersezione invece di reimplementare la risoluzione parametrica in ogni linguaggio.
Domande tecniche
Cosa succede se la normale del piano è nulla?
Se a=b=c=0 l'equazione non definisce un piano. La calcolatrice restituisce invalid_input invece di un punto d'incontro privo di senso.