Bon voilà, j’ai tenté une formalisation et une résolution.
Je me permet un double post (parce que je le peux).
On va commencer par définir la nature d’un triangle : c’est un triplet d’éléments de $\mathbf R^2$. Alors, bien-sûr, comme d’habitude, c’est plus sympa d’avoir des objets compacts. Donc je vais directement passer à une autre formalisation :
Un triangle, c’est un élément de $(\mathbf RP^2)^3$. ($\mathbf RP^2$ c’est le plan projectif réel, on le munit des coordonnées homogènes $[p_0:p_1:p_2]$)
Ce choix me permet d’obtenir naturellement une compacité (c’est toujours utile en topologie). On est pas si loin du cas originel : on a rajouté des triangles à ceux pensés initialement mais retiré aucun.
Cet ensemble, je l’appelle $M$. C’est évidemment une variété (parce que c’est $(\mathbf RP^2)^3$) mais ce n’est pas tout à fait celle que je veux étudier. En effet, il y a des symétries : quelque soit l’ordre dans lequel je prends les points du triangle, je veux obtenir le même.
Donc je considère le quotient de $M$ par l’action de $\sigma$ qui permute les trois coordonnées du produit. Comme son action est propre et discrète, le quotient $M/\sigma$ est encore une variété lisse (et compacte), que j’appelle $T$.
Maintenant, les propriétés spéciales des triangles (rectangle, isocèle, blablabla) sont interprétables en termes de fonctions à valeurs dans $\mathbf R$. (Exercice, si vous êtes sceptiques, mais c’est normalement assez clair.)
Ces fonctions, on peut les prendre comme submersions. De sorte que maintenant, les zéros de ces fonctions désignent les triangles spéciaux et sont de codimension au moins une.
Mais si $X$ est une sous-variété de $N$ de codimension une, elle est de mesure nulle. Par exemple, par compacité, on peut recouvrir $X$ d’un nombre fini de boules dont le diamètre est laissé libre.