Avril 2026 · Algorithme & mathématiques · 6 min de lecture

Calepinage hexagonal : pourquoi c'est mathématiquement optimal pour l'éclairage

Quand CALEP propose un calepinage hexagonal au lieu d'une grille régulière, ce n'est pas un caprice esthétique. C'est une décision basée sur l'empaquetage de cercles en géométrie : √3/2 = 0.866 d'efficacité maximale. Voici la démonstration et les implémentations.

Le problème : couvrir une surface uniformément

Quand vous calepinez des luminaires dans une pièce, vous voulez que chaque point du sol reçoive un éclairement le plus uniforme possible. Chaque luminaire éclaire un disque approximativement circulaire autour de lui (sa courbe photométrique). La question devient :

Comment placer N cercles identiques pour couvrir une surface rectangulaire avec le minimum de chevauchements et de zones sombres ?

C'est un problème mathématique classique : l'empaquetage de cercles dans un plan (circle packing). Et la réponse, démontrée depuis 1773 par Lagrange, est : la disposition hexagonale.

Pourquoi pas une grille carrée ?

Une grille carrée semble naturelle. Vous placez vos luminaires aux croisements d'une grille régulière, espacés uniformément. Mais elle a un défaut majeur : les zones entre 4 luminaires sont à distance maximale de tous.

DispositionDensité d'empaquetageEspace mort
Grille carréeπ/4 ≈ 78.5%21.5%
Grille hexagonaleπ/(2√3) ≈ 90.7%9.3%

L'hexagonale offre +12% d'efficacité d'empaquetage. Pour un même nombre de luminaires, vous obtenez une couverture plus uniforme du sol — donc moins de zones sombres et moins de zones sur-éclairées.

Le facteur √3/2 = 0.866

En géométrie hexagonale, deux rangées consécutives de luminaires sont décalées horizontalement de la moitié de l'espacement. La distance verticale entre rangées n'est pas l'espacement complet, mais spacing × √3/2 ≈ 0.866 × spacing. Ce facteur √3/2 vient directement de la trigonométrie d'un triangle équilatéral (sin 60° = √3/2).

L'algorithme dans CALEP

Le module LuminaireLayout d'ElectroCAD implémente cet empaquetage. Voici l'algorithme essentiel :

Étape 1 — Estimer l'espacement

Pour N luminaires sur une aire S, l'espacement initial estimé est :

double estimatedSpacing = Math.Sqrt(area / (N * 0.866));

Le facteur 0.866 (= √3/2) traduit le fait qu'en hexagonal, chaque luminaire "couvre" une zone de surface spacing² × 0.866. La formule inverse cette relation.

Étape 2 — Itérer pour atteindre N exactement

L'estimation initiale ne donne pas toujours exactement N luminaires. Le code itère pour ajuster :

int cols = (int)Math.Ceiling(width / spacing);
int rows = (int)Math.Ceiling(height / (spacing * 0.866));

for (int attempt = 0; attempt < 10; attempt++)
{
    int estimated = cols * rows;

    if (estimated < targetCount)
    {
        // Augmenter colonnes ou lignes selon ratio
        if (width / cols > height / rows) cols++;
        else rows++;
    }
    else if (estimated > targetCount + 2)
    {
        // Réduire (mais accepter +2 d'écart)
        if (width / cols < height / rows) cols--;
        else rows--;
    }
    else
    {
        break; // Convergé
    }
}

Étape 3 — Redistribuer uniformément

Une fois cols et rows fixés, on calcule l'espacement final pour que les luminaires soient répartis uniformément avec une marge configurable depuis les murs :

double colSpacing = (width - 2 * margin) / (cols - 1);
double rowSpacing = (height - 2 * margin) / (rows - 1);

Étape 4 — Placer avec offset alternant

Le motif hexagonal s'obtient en décalant horizontalement les lignes paires de la moitié de l'espacement de colonne :

for (int row = 0; row < rows; row++)
{
    bool isOddRow = (row % 2 == 1);
    double xOffset = isOddRow ? colSpacing / 2 : 0;
    double colsThisRow = isOddRow ? cols - 1 : cols; // Évite débordement

    for (int col = 0; col < colsThisRow; col++)
    {
        double x = margin + xOffset + col * colSpacing;
        double y = margin + row * rowSpacing;

        PlaceLuminaire(x, y);
    }
}

Notez le filtre cols - 1 sur les lignes décalées : quand on décale d'une demi-colonne vers la droite, le dernier luminaire dépasserait du cadre. On en place donc un de moins.

Comparaison visuelle : grille vs hexagonal

Pour 24 luminaires dans une pièce de 12 m × 8 m :

PatternDispositionUniformité UoZones sombres
Grille carrée 6×46 cols, 4 rangées, espacement 2 m × 2 m~0.55Significatives entre 4 luminaires
Hexagonal6+5+6+5 (motif décalé)~0.68Réduites de ~50%

Le gain d'uniformité (de 0.55 à 0.68) peut sembler modeste, mais il fait la différence entre conforme et non conforme à la norme EN 12464-1. Pour un bureau, l'uniformité requise est ≥ 0.60. Une grille carrée naïve peut faire échouer la conformité, là où l'hexagonal la passe sans difficulté.

Quand AutoSelect choisit l'hexagonal

CALEP propose 8 patterns différents, et son moteur AutoSelect décide lequel utiliser selon plusieurs critères. L'hexagonal est choisi automatiquement quand :

  • Le nombre de luminaires est élevé : N > 20 (au-delà, l'avantage hexagonal devient significatif)
  • La pièce est plutôt carrée : ratio L/H < 1.4 ET N ≥ 8
  • Le type de pièce demande de l'uniformité : laboratoire, salle d'opération, atelier de précision

Pour les pièces très allongées (couloirs avec ratio L/H > 3.5), CALEP préfère un calepinage linéaire. Pour les petits espaces (≤ 6 luminaires), une grille carrée simple suffit et est plus rapide à installer.

Quand forcer manuellement l'hexagonal

Si AutoSelect choisit "Grille régulière" pour votre projet et que vous voulez l'hexagonal pour son meilleur Uo, sélectionnez explicitement le pattern dans le dialogue CALEP. Le calcul reste identique, seul le placement final change.

Le cas du quinconce — un cousin proche

CALEP propose aussi un pattern "quinconce" qui ressemble à l'hexagonal, mais avec un décalage moins prononcé (offset alternant de 1/4 d'espacement au lieu de 1/2). C'est un compromis entre la simplicité de la grille et l'efficacité de l'hexagonal :

  • Grille carrée : offset 0, simplicité d'installation, Uo médiocre
  • Quinconce : offset 1/4, complexité moyenne, Uo correct
  • Hexagonal : offset 1/2, complexité maximale, Uo optimal

Le quinconce est un bon compromis quand l'hexagonal est trop complexe à installer (faux plafond avec tramme rigide, par exemple).

Limites de l'approche

L'algorithme hexagonal de CALEP est efficace mais reste un calcul géométrique, pas un calcul photométrique complet. Il ne prend pas en compte :

  • Les réflexions multiples sur les murs (pris en compte uniquement par le facteur d'utilisation K)
  • Le mobilier qui crée des ombres
  • Les obstacles plafond (poutres, gaines techniques)
  • La forme exacte de la courbe photométrique du luminaire (CALEP utilise une approximation circulaire)

Pour des projets sensibles (atelier de précision, hall d'exposition, salle d'opération), un calcul photométrique précis dans DIALux evo ou Relux reste recommandé en complément. CALEP suffit pour 90% des projets bâtiment et tertiaire courants.

Conclusion

L'utilisation de l'hexagonal dans CALEP n'est pas un détail technique anecdotique — c'est un choix mathématiquement justifié qui améliore concrètement l'uniformité d'éclairement de vos calepinages. Le facteur √3/2 = 0.866 traduit l'efficacité maximale d'empaquetage de cercles dans un plan, démontrée mathématiquement depuis 250 ans.

Pour les projets de calepinage où l'uniformité est critique (norme EN 12464-1, label Minergie, certification énergétique), c'est la différence entre conformité et non-conformité. Et pour les projets standards, c'est simplement un éclairage plus agréable visuellement.


CALEP est inclus dans ElectroCAD Tools

26 types de pièces EN 12464-1 + 8 patterns dont l'hexagonal optimal. Calcul lux + W/m² SIA 380/4 en temps réel.

Découvrir CALEP Voir la norme EN 12464-1