3D Gaussian Splatting · Foundations of 3DGS

3DGS Attribute Exploration

Colab Notebook · ~45 min
Google Colab Notebook
3DGS Attribute Exploration
Python · ~45 min
Open in Colab
Lab Objectives
1
Load and parse the attribute structure of a 3DGS representation (synthetic or real .ply).
2
Implement quaternion-to-rotation-matrix conversion and verify it produces an orthogonal matrix.
3
Reconstruct the 3×3 covariance matrix Σ=RSSR\Sigma = RSS^\top R^\top and visualize its eigenvalues.
4
Plot attribute distributions (opacity, scale, position) and identify which attributes are most compressible.
5
Compute the exact uncompressed storage cost and verify the 59-param × 4-byte formula.

Lab 1: Exploring 3DGS Attributes

In this lab you will work with a synthetic 3DGS dataset (50,000 Gaussians with realistic attribute distributions), explore the full 59-parameter structure, and implement the key mathematical operations from the reading.

What You'll Build

  • A .ply-style attribute parser that understands 3DGS binary layout
  • Quaternion-to-rotation-matrix conversion from scratch
  • Covariance reconstruction: Σ=RSSR\Sigma = RSS^\top R^\top
  • Distribution visualizations for all attribute categories
  • Analytical file-size estimator

Key Concepts Practiced

By the end you will be able to look at a real 3DGS .ply file and immediately understand every attribute column, compute covariance from stored rotation/scale parameters, and reason quantitatively about where the bits are going.