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
- Connect the meaning of GS coordinates, scale, and selection to scene controls.
- Reproduce the completion criteria below and answer the self-check questions in your own words.
Exercises
- Record the center, up axis, and scale of a small GS dataset and set the initial camera.
- Set minimum/maximum distances for rotation, movement, and zoom, and add reset.
- 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
- Explained the initial viewpoint and control limits.
- Specified GS selection criteria and limitations.
- Recorded cases that differ from mesh selection.
Self-check questions
- Are the frontmost visible color and the nearest Gaussian center always the same?
- 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.