explaingit

chamud/3dgs-101

Analysis updated 2026-05-18

1Audience · researcherComplexity · 3/5Setup · easy

TLDR

A 10-chapter self-study textbook on 3D Gaussian Splatting, taking you from camera geometry basics to building a generative scene completion pipeline, with exercises in Python.

Mindmap

mindmap
  root((3DGS-101))
    What it covers
      Camera geometry
      Gaussian splats
      Training loop
      Generative completion
    Chapter topics
      Pinhole camera
      SfM and rotations
      Rendering pipeline
      Floaters and pruning
    Prerequisites
      Python and NumPy
      Linear algebra
      Basic calculus
    Tools needed
      VS Code
      Mermaid preview
      GPU for ch 7 to 8
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Study 3D Gaussian Splatting from first principles over 10 structured chapters to build a foundation for research or applied 3D work.

USE CASE 2

Train your own set of photos into a viewable 3D scene by following the hands-on chapters on structure-from-motion and the training loop.

USE CASE 3

Learn to read and extend real 3DGS research codebases by following the guided walkthrough in chapter 9.

USE CASE 4

Build a floater-aware generative completion pipeline as a capstone project using the skills built across all 10 chapters.

What is it built with?

PythonNumPy

How does it compare?

chamud/3dgs-101195516184-a11y/esp32-mcp-parenting-robota-bissell/unleash-lite
Stars111
LanguagePython
Setup difficultyeasymoderatehard
Complexity3/53/54/5
Audienceresearchergeneralresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 30min

Chapters 7-8 require a machine with a GPU to train a real scene from photos.

In plain English

3DGS-101 is a 10-chapter self-study textbook on a 3D reconstruction technique called 3D Gaussian Splatting, written as a story rather than a reference manual. The goal is to take someone who already knows a bit of Python and linear algebra all the way to building a floater-aware generative scene completion pipeline. Each chapter is designed as roughly a two-hour study session, and they must be read in order since each one builds on the previous. 3D Gaussian Splatting is a method for turning a set of photographs of a scene into a 3D representation you can render from any angle. The textbook explains the full pipeline: starting from how cameras turn 3D points into 2D pixels, moving through how structure-from-motion tools estimate camera positions from photos, then explaining what a Gaussian splat is mathematically, how it gets projected onto a 2D screen, how many splats are combined to produce a full image, and how the whole system is trained by comparing rendered images to real photos and adjusting the splats accordingly. Later chapters cover a common problem called floaters, which are spurious splats that appear in under-observed parts of a scene, and how to read and extend real research codebases. Prerequisites are listed honestly: Python with NumPy, basic linear algebra (matrix multiplication, eigenvectors, inverses), and enough calculus to know what a derivative means. A machine with a GPU is needed for chapters 7 and 8, which involve training a scene from your own photos. Prior knowledge of graphics programming, CUDA, or neural radiance fields is not required. The recommended reading environment is VS Code with the Markdown Preview extension active, because diagrams are written in Mermaid notation and render live in that view. An Excalidraw extension handles the hand-drawn figures. Each chapter includes short Python coding exercises to make the concepts concrete. The final capstone chapter brings everything together: fusing a generative prior into the training loop to fill in parts of a scene that the original photos did not capture well.

Copy-paste prompts

Prompt 1
I'm on Chapter 4 of 3DGS-101 covering EWA Splatting. Help me understand how a 3D Gaussian covariance matrix gets projected to a 2D screen ellipse using the Jacobian approximation.
Prompt 2
I've trained my first 3DGS scene from Chapter 7 but it has many floaters. Walk me through Chapter 8's explanation of where floaters come from and how densification and pruning affect them.
Prompt 3
I want to reimplement the Gaussian densification step from scratch in NumPy. What conditions trigger splitting vs. cloning, and what does each operation do geometrically?

Frequently asked questions

What is 3dgs-101?

A 10-chapter self-study textbook on 3D Gaussian Splatting, taking you from camera geometry basics to building a generative scene completion pipeline, with exercises in Python.

How hard is 3dgs-101 to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is 3dgs-101 for?

Mainly researcher.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub chamud on gitmyhub

Verify against the repo before relying on details.