ForHosting KIT · Viaggi e geografia

Riquadro contiene riquadro AABB

Un riquadro esterno da (0, 0) a (10, 10) contiene del tutto uno interno da (2, 3) a (5, 7): i quattro bordi sono annidati. Inserisca i bordi dei due riquadri e veda quale lato, se c'è, impedisce il contenimento. Gratis nel suo browser.

  • Gratis
  • Funziona nel suo browser
  • Senza registrazione
  • I suoi dati restano sul dispositivo
Usalo da WebAPIEmailTelegramApp presto
Se inserisce
x minimo esterno
0
x massimo esterno
10
y minimo esterno
0
y massimo esterno
10
x minimo interno
2
x massimo interno
5
Ottiene
Larghezza esterna
10
Altezza esterna
10
Larghezza interna
3
Altezza interna
4

Il contenimento di riquadri delimitanti allineati agli assi è un predicato spaziale fondamentale in cartografia, grafica computerizzata, fase ampia di collisione, gerarchie di tile GIS e culling del viewport. Dati due rettangoli con lati paralleli agli assi, la domanda è se il riquadro esterno racchiude completamente quello interno — non solo se si sovrappongono o condividono un angolo. Questo controllo accetta otto limiti di bordo finiti (minimo e massimo di X e Y per il contenitore esterno e il candidato interno), convalida che ogni riquadro abbia min minore o uguale a max su entrambi gli assi e valuta quattro disuguaglianze chiuse: il bordo sinistro esterno deve stare a sinistra o sul sinistro interno, il destro esterno a destra o sul destro interno, e lo stesso annidamento in basso e in alto. Il risultato è un indicatore booleano contains insieme a diagnostiche per bordo così Lei può vedere esattamente quale limite fallisce quando l'annidamento non regge. Riquadri identici contano come contenimento con bordi chiusi.

Cosa significa il contenimento AABB e come si testano i quattro bordi

Un riquadro delimitante allineato agli assi, spesso abbreviato AABB, è definito da una coordinata minima e massima su ciascun asse. Il contenimento totale di un riquadro interno da parte di uno esterno significa che ogni punto del rettangolo interno appartiene anche al rettangolo esterno. Poiché entrambe le forme sono prodotti di intervalli, tale inclusione si riduce all'annidamento di intervalli su ciascun asse in modo indipendente: l'intervallo X interno deve stare dentro l'intervallo X esterno e l'intervallo Y interno dentro il Y esterno.

Se una qualsiasi di queste quattro verifiche fallisce, il riquadro esterno non contiene completamente quello interno — anche quando ancora si intersecano in una sovrapposizione parziale o condividono un confine solo su un lato. Sono ammessi riquadri degeneri di larghezza o altezza nulla quando min eguaglia max; un riquadro puntiforme è contenuto quando quel punto giace sul o all'interno dei bordi esterni. Due riquadri identici soddisfano pure il contenimento, perché tutti i bordi coincidono e le disuguaglianze chiuse restano vere.

Questa capacità non modella rettangoli ruotati, poligoni sferici geodetici né l'avvolgimento dell'antimeridiano; è il predicato classico AABB cartesiano usato come filtro rapido di fase ampia prima di test geometrici più costosi.

Contratto di ingresso, forma della risposta e riquadri non validi

Un riquadro invertito in cui min è strettamente maggiore di max viene rifiutato anziché scambiato in silenzio, perché lo scambio cambierebbe la geometria intesa a insaputa del chiamante. Il campo di riepilogo contains è true solo quando tutte e quattro le flag sono true. La flag equal è true quando i due riquadri condividono bordi identici.

Un breve messaggio descrive contenimento totale, riquadri identici, oppure elenca i bordi falliti quando l'annidamento non regge. Esempio: riquadro esterno da (0,0) a (10,10) e interno da (2,3) a (5,7) produce contains true con tutte e quattro le flag true. Una sovrapposizione parziale o un riquadro che sporge da un lato produce contains false e nomina il lato fallito.

I fallimenti di convalida non vengono addebitati.

Dove un controllo di contenimento di riquadri è utile

I server di mappe e tile usano il contenimento AABB per decidere se il bbox di un elemento è interamente dentro un viewport, un tile genitore o un rettangolo di geofence prima di caricare geometria a risoluzione più alta. I motori di gioco e di fisica eseguono lo stesso test a quattro bordi come filtro economico di fase ampia prima della collisione a livello di triangolo.

Le pipeline GIS confrontano riquadri di annotazione con estensioni di regione quando ritagliano le esportazioni o validano che una zona disegnata resti interamente entro un foglio cartografico con licenza. Strumenti di computer vision e layout documentale annidano riquadri di rilevamento dentro rettangoli di pagina o ritaglio per filtrare falsi positivi che escono dal riquadro. La convalida fallita non consuma saldo.

Mantenga le richieste compatte, fissi il booleano e le flag di bordo nei test e otterrà decisioni di annidamento riproducibili per worker cartografici, server di gioco e script di valutazione senza montare un intero database spaziale per un semplice test di rettangoli.

Annidamento di viewport e tile

Verifichi se il bbox di un elemento o di un tile figlio resta interamente dentro il viewport della mappa o il tile genitore prima di caricare geometria dettagliata.

Collisione e culling in fase ampia

Filtri le coppie candidate in giochi e fisica verificando se un AABB ne contiene completamente un altro prima di test costosi di fase stretta.

Validazione di riquadri di layout e rilevamento

Controlli che i riquadri OCR, UI o di object detection restino interamente dentro una pagina, un ritaglio o l'estensione di una regione con licenza.

I riquadri identici contano come contenimento?

Sì. I bordi chiusi consentono che min/max esterni eguaglino min/max interni. La flag equal è true e contains è true quando entrambi i riquadri condividono gli stessi limiti.

Cosa succede se min è maggiore di max su un riquadro?

I riquadri invertiti non vengono scambiati automaticamente; corregga i bordi così che min sia minore o uguale a max su ciascun asse.

Gestisce riquadri ruotati o geografici sull'antimeridiano?

No. È solo un test cartesiano allineato agli assi. Ruoti prima le forme in forma allineata, oppure usi una capacità geodetica per poligoni sferici che avvolgono l'antimeridiano.

Sovrapporsi equivale a essere contenuti?

No. Due riquadri possono sovrapporsi o condividere un bordo e non superare comunque la verifica. Il contenimento richiede che ogni punto del riquadro interno stia in quello esterno, quindi i quattro bordi devono essere annidati; ne basta uno sbagliato per un esito negativo.

Come capisco quale lato impedisce il contenimento?

Ogni bordo viene controllato da solo: sinistro, destro, inferiore e superiore. Il risultato indica quali dei quattro sono a posto e il messaggio nomina quelli che non lo sono, così vede se il riquadro interno sporge da un lato o da più lati.

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.

POSThttps://api.kit.forhosting.com/geo/bbox-contains-bbox

Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.

curl -X POST https://api.kit.forhosting.com/geo/bbox-contains-bbox \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"outer_min_x":0,"outer_max_x":10,"outer_min_y":0,"outer_max_y":10,"inner_min_x":2,"inner_max_x":5,"inner_min_y":3,"inner_max_y":7}'
{
  "outer_min_x": 0,
  "outer_max_x": 10,
  "outer_min_y": 0,
  "outer_max_y": 10,
  "inner_min_x": 2,
  "inner_max_x": 5,
  "inner_min_y": 3,
  "inner_max_y": 7
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "geo.bbox_contains_bbox",
  "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.

per richiesta$0.002

Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.

HTTPCodiceSignificato
401unauthorizedChiave API mancante o non valida: controlla l'header Authorization.
402insufficient_balanceCredito esaurito: ricarica per continuare a eseguire attività.
404unknown_typeTipo di attività sconosciuto: controlla il campo type della richiesta.
429rate_limitedTroppe richieste in poco tempo: rallenta e riprova tra qualche secondo.

La stessa logica pura alimenta lo strumento gratuito del browser e il percorso API a pagamento, così pipeline cartografiche e correttori automatici non divergono mai sulla decisione di annidamento.

Cosa significa il contenimento AABB e come si testano i quattro bordi

In due dimensioni sono quattro numeri: min_x, max_x, min_y e max_y. Scritte come disuguaglianze a bordi chiusi, il contenimento vale se e solo se outer_min_x è minore o uguale a inner_min_x, outer_max_x è maggiore o uguale a inner_max_x, outer_min_y è minore o uguale a inner_min_y e outer_max_y è maggiore o uguale a inner_max_y.

Contratto di ingresso, forma della risposta e riquadri non validi

Invii un corpo JSON in POST con otto numeri finiti obbligatori: outer_min_x, outer_max_x, outer_min_y e outer_max_y per il riquadro contenitore, più inner_min_x, inner_max_x, inner_min_y e inner_max_y per il candidato. Ogni campo può arrivare come numero JSON o come stringa numerica; campi mancanti, stringhe vuote e valori non finiti falliscono con invalid_input nominando il campo. Inoltre ogni riquadro deve essere ben formato: outer_min_x deve essere minore o uguale a outer_max_x, e la stessa regola min rispetto a max vale per i bordi Y esterni e per entrambi gli assi del riquadro interno. In caso di successo la risposta ripete gli otto valori di bordo arrotondati, segnala outer_width, outer_height, inner_width e inner_height, e restituisce flag booleane left_ok, right_ok, bottom_ok e top_ok per ogni test di bordo.

Dove un controllo di contenimento di riquadri è utile

Poiché l'implementazione è parse pura di tier A, ogni chiamata riuscita costa il prezzo base pubblicato $0.002 senza token di modello e senza rete in uscita.

Come verifico se un riquadro delimitante ne contiene un altro?

Invii otto bordi finiti: outer_min_x, outer_max_x, outer_min_y, outer_max_y e gli stessi quattro per il riquadro interno. L'API restituisce contains true quando l'esterno annida l'interno sui quattro bordi.

Quanto costa il controllo di contenimento di riquadri?

Lo strumento del browser è gratuito. Le richieste API usano il saldo KIT prepagato a $0.002 per chiamata riuscita; l'input non valido non viene addebitato.

Leggi la documentazione completa del KIT →