TriMesh
Overview
TriMesh creates custom 3D meshes from numpy arrays, giving you complete control over vertices and faces for procedural generation, real-time updates, and scientific visualization.
Basic Usage
import numpy as np
from vuer import Vuer, VuerSession
from vuer.schemas import DefaultScene, TriMesh, OrbitControls
# Create a simple triangle
vertices = np.array([
[0, 0, 0],
[1, 0, 0],
[0.5, 1, 0],
], dtype=np.float32)
faces = np.array([[0, 1, 2]], dtype=np.int32)
app = Vuer()
@app.spawn(start=True)
async def main(sess: VuerSession):
sess.set @ DefaultScene(
TriMesh(
key="triangle",
vertices=vertices,
faces=faces,
color="red"
),
bgChildren=[
OrbitControls(key="OrbitControls")
],
)
await sess.forever()
Key Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
vertices |
ndarray | - | (N, 3) float32 array of XYZ coordinates |
faces |
ndarray | - | (M, 3) uint32 array of triangle indices |
colors |
ndarray | - | (N, 3 or 4) array of per-vertex colors |
uv |
ndarray | - | (N, 2) array of UV texture coordinates |
Learn More
- Loading 3D Meshes - 5 ways for loading meshes and how to update the mesh in real-time.
- Textured TriMesh - Adding textures to triangle meshes
- Materials and Textures - Advanced materials