Frontory

Open code, practice, and notes →

Download source with English comments · for reading

20 · Three.js+GS camera and interaction

Week 3 / original Day 20 · Document and example provided · This is a learning sequence, not a fixed daily workload.

Full roadmap · Workspace usage

Goal

Connect the meaning of GS coordinates, scale, and selection to scene controls.

Prerequisites

06 and data loading from 19.

Key concepts and explanations

GS objects can also be transformed in a scene hierarchy, but supported scale and selection APIs may vary by library. Check the data's up axis, units, and center, and align camera near/far and target.

GS picking may differ from raycasting ordinary mesh triangles. Gaussian center approximations, opacity conditions, and library-specific raycasting can differ, so define what counts as a selection. Visible boundaries may differ from selection boundaries.

Skills you will develop

Exercises

  1. Record the center, up axis, and scale of a small GS dataset and set the initial camera.
  2. Set minimum/maximum distances for rotation, movement, and zoom, and add reset.
  3. Investigate the criteria of the GS picking API you will use and write expected results for three points along the visible boundary.

Variables to observe

camera target/position/near/far, data transform, picking conditions.

Completion criteria

Self-check questions

  1. Are the frontmost visible color and the nearest Gaussian center always the same?
  2. Can ordinary mesh raycast code be applied unchanged?

Official references

Experiment notes — fill these in yourself

Goal

Key concepts

Changed variables and predictions

Actual results

What I learned

Remaining questions

Previous: .ply·.splat loading · Next: GS viewer review and candidate comparison

Linked example and execution scope

Runnable source code · Workspace unit ID: 20-gs-interaction

An educational CPU Canvas viewer that reads small .splat and ASCII GS PLY files. The limits are 1 MiB·512 splats; binary PLY and general mesh PLY are not supported. Spark, GPU tile rendering, higher-order SH, and GS picking are outside the implementation scope. The default scene uses data created here, and measurements apply only to this CPU example.

Any previously saved code is preserved. To use the new original source, first back up everything as a full JSON file, then select Restore original code. Your notes are not erased.

Open code, practice, and notes →