L’un des défis majeurs de la visualisation 3D dans le navigateur web est le transfert des données. Une simulation fluide complète (CFD) ou magnétique (MHD) peut peser plusieurs dizaines de gigaoctets. Télécharger un tel volume avant de commencer l’analyse est impossible dans un navigateur.
Le découpage spatial (Spatial Partitioning)
Le format BRICKS développé pour aiXplore résout cette limitation en découpant le volume de simulation en briques de données indépendantes et indexées. Chaque brique contient :
- Une sous-grille locale de valeurs physiques.
- Ses propres métadonnées d’échelle et de limites (bounding box).
- Un index permettant l’accès direct via des requêtes HTTP Range.
HTTP Range Requests & Chargement Paresseux
Lorsqu’un ingénieur inspecte une simulation :
- Le navigateur n’interroge que l’index global du fichier.
- Selon la position de la caméra et le plan de coupe actif, seules les briques intersectées sont demandées au serveur.
- Le serveur renvoie uniquement les octets ciblés via des requêtes partielles standard (
GETavec en-têteRange).
<!-- Requête réseau générée par aiXplore pour charger la brique #482 -->
GET /simulations/turbine.bricks HTTP/1.1
Range: bytes=4820000-4980000
Cette architecture évite le chargement global de la simulation en mémoire vive et permet de naviguer dans des modèles de plusieurs milliards de valeurs avec une réactivité instantanée, même avec une connexion réseau standard.