Point Clouds as 3D Point Sets
Point clouds keep raw 3D coordinates with no grid and no surface, which saves memory but leaves neighbor search to you.
Why Does This Exist?
Sensors output points, not shapes. The representation closest to the sensor keeps plus intensity with no quantization. Point cloud processing teaches the network side; this page teaches the representation trade: exact positions and tiny memory against no surface, no inside-outside test, and density that collapses with distance. The grid alternative that buys convolutions at cubic cost is voxels.
Think of It Like This
Stars plotted from a telescope log
A telescope log lists each star's coordinates and brightness with no lines between them. The list is tiny and exact, but finding constellations means searching neighbors yourself. Drawing grid lines over the sky would quantize every star.
Points are the log and voxels are the grid overlay. The analogy stops at motion: stars sit still while LiDAR points sweep, so one parked frame and one highway frame with the same count carry very different densities.
How It Actually Works
A cloud is a matrix in with rows for points and 3 columns for coordinates, plus optional feature columns such as intensity. Memory is bytes for float32 coordinates, where 3 is the coordinate count and 4 is the bytes per float. Density falls roughly as with range because a fixed angular beam spreads over a wider patch the farther it travels. Neighbor search needs a KD-tree or spatial hashing since adjacency is not stored anywhere in the matrix.
Worked example
Take points. Memory is bytes, about MB. A car at m returns about points; the same car at m returns points. That -fold drop is why far objects need different thresholds than near ones.
Code
n = 100_000print(n * 3 * 4 / 1e6)# -> 1.2
near_points, r0, r1 = 800, 10, 40print(near_points * (r0 / r1) ** 2)# -> 50.0Watch Out For
Treating density as uniform across range
A fixed neighbor radius of m finds dozens of neighbors near the sensor but two or three far away, so the same surface produces different features at different ranges. The symptom is a detector that fires on near cars and sleeps on far ones. Scale the radius with or sample fixed- neighborhoods instead of fixed-radius balls.
The Quick Version
- Point clouds store exact positions with minimal memory and no quantization.
- Density drops with range squared, so far objects look sparse.
- No surface or occupancy answer comes free; search builds neighborhoods.
- Do not use raw points when you need watertight surfaces; mesh or field instead.
- points fit in about MB.