PointCloud¶

The PointCloud component displays point cloud data directly from vertex and color arrays. This is ideal for:

  • Real-time point cloud streaming from sensors (LiDAR, depth cameras)

  • Visualizing 3D scan data

  • Displaying particle systems

  • Animating point cloud sequences

Basic Usage¶

A minimal example that creates a point cloud from numpy arrays:

import numpy as np
from vuer import Vuer
from vuer.schemas import DefaultScene, PointCloud, OrbitControls

# Create random point cloud
n_points = 1000
vertices = np.random.randn(n_points, 3).astype(np.float32)
colors = np.random.rand(n_points, 3).astype(np.float32)

app = Vuer()

@app.spawn(start=True)
async def main(session):
    session.set @ DefaultScene(
        PointCloud(
            key="pointcloud",
            vertices=vertices,
            colors=colors,
            size=0.02,
        ),
        bgChildren=[
            OrbitControls(key="OrbitControls")
        ],
    )

    await session.forever()

Key Parameters¶

Parameter

Type

Default

Description

key

str

-

Unique identifier for the point cloud

vertices

ndarray

-

Nx3 array of point positions

colors

ndarray

-

Nx3 array of RGB colors. Supports two formats: Float32 (0-1 range), or Uint8 (0-255 range, better performance)

size

float

0.01

Point size

Learn More¶

For detailed examples of using PointCloud, see: