To quantify the geometric complexity of our dataset, we define the Geometry Complexity Score (GCS) as:
\[ \mathrm{GCS} = \underbrace{\left( \frac{N_{\mathrm{tri}}}{A_{\mathrm{total}}} \right)}_{\text{Triangle density}} \cdot \underbrace{\left( 1 + \lambda_1 \cdot \frac{\sigma_{\mathrm{area}}}{\mu_{\mathrm{area}}} + \lambda_2 \cdot \frac{\sigma_{\theta}}{\mu_{\theta}} \right)}_{\text{Irregularity term}} \cdot \underbrace{\log(1 + A_{\mathrm{total}})}_{\text{Global scale weight}} \]
where \( N_{\mathrm{tri}} \): total number of triangles, \( A_{\mathrm{total}} \): total surface area (in cm²) of the mesh. The first term, \( \frac{N_{\mathrm{tri}}}{A_{\mathrm{total}}} \), captures the local triangle density, indicating how densely the mesh is tessellated per unit area.
The second term reflects structural irregularity, consisting of the coefficient of variation (i.e., standard deviation over mean) for triangle areas \( \frac{\sigma_{\mathrm{area}}}{\mu_{\mathrm{area}}} \) and dihedral angles \( \frac{\sigma_{\theta}}{\mu_{\theta}} \). This penalizes highly irregular or distorted regions.
The final term, \( \log(1 + A_{\mathrm{total}}) \), applies a scale-aware weighting to account for large-scale surfaces, ensuring that meshes with similar detail but different spatial coverage (e.g., small object vs. large room) receive comparable scores.
We set \( \lambda_1 = \lambda_2 = 0.5 \) by default.