Skip to content
AI360Xpert
Beta

Triangle Meshes for 3D Surfaces

Meshes store a surface as connected triangles, which renders fast but resists topology change and direct learning.

Why Does This Exist?

Graphics hardware draws triangles, so 3D representations need a mesh path to screen. A mesh lists vertices VV and faces FF of index triples, which rasterizes in milliseconds. Learning hates meshes because connectivity is discrete: splitting one edge rewires the whole neighborhood.

Think of It Like This

A tent sewn from triangular patches

A tent is fabric triangles stitched edge to edge. It pitches fast and sheds rain because the surface is continuous. Adding a new door means unstitching and restitching, not just drawing a line.

Vertices are corners and faces are patches. The analogy stops at watertightness: real scans have holes while tents should not.

How It Actually Works

A triangle with vertices a,b,ca, b, c has normal n=(b−a)×(c−a)n = (b-a) \times (c-a) normalized, and area ∥n∥/2\lVert n \rVert / 2. Rendering projects each triangle and fills pixels. Memory is about 33 floats per vertex plus 33 ints per face. Topology is fixed unless remeshing runs.

Worked example

Take V=25,000V = 25{,}000 vertices and F=50,000F = 50{,}000 faces. Vertex bytes are 25,000×3×4=300,00025{,}000 \times 3 \times 4 = 300{,}000. Face bytes are 50,000×3×4=600,00050{,}000 \times 3 \times 4 = 600{,}000. Total near 0.90.9 MB plus normals doubles it to about 1.81.8 MB. A triangle with a=(0,0,0)a = (0, 0, 0), b=(1,0,0)b = (1, 0, 0), c=(0,1,0)c = (0, 1, 0) has normal (0,0,1)(0, 0, 1) and area 0.50.5. Subdividing once quadruples faces to 200,000200{,}000.

Watch Out For

Non-manifold edges breaking Boolean ops

An edge shared by three faces has no clear inside, so hole filling creates flaps. The symptom is renders with flickering patches. Clean to two faces per edge before repair.

The Quick Version

  • Meshes store vertices plus triangle faces for hardware-fast rendering.
  • Memory is compact but connectivity is discrete and hard to learn.
  • Use meshes when the end goal is display or simulation on surfaces.
  • Do not use them for topology-changing growth without remeshing.
  • A 50,00050{,}000-triangle mesh fits in about 1.81.8 MB.