Geometry3d.aip

# Point on plane?
is_on = plane.contains(p1)  # bool

Think of voxels as 3D pixels. Instead of just defining a surface, a volumetric representation divides an object into a grid of small cubes (voxels), each containing data such as density or color.

temperature = mesh.get_attribute('temperature') # Shape: (N,)

bbox = bbox.extend(p2)

Instead of raw point clouds, geometry3d.aip provides hierarchical neighborhoods, enabling PointNet++ to learn multi-scale local patterns efficiently. geometry3d.aip

Unlike 2D images (uniform grids of pixels), 3D data is unstructured, high-dimensional, and variable in representation. Without a unified format like geometry3d.aip, researchers face three persistent problems:

| Problem | Description | Consequence | |---------|-------------|--------------| | Representation chaos | Meshes, point clouds, voxels, implicit surfaces—all require different neural architectures. | Models are not portable. | | Sparsity & memory | Most 3D space is empty; dense voxel grids are O(N³) expensive. | Training is impractical. | | Lack of inductive biases | Convolutions (for images) don’t naturally extend to irregular graphs or point sets. | Poor sample efficiency. | # Point on plane

geometry3d.aip addresses these by defining a canonical intermediate representation—often a sparse, multi-scale tensor format that can be consumed by Graph Neural Networks (GNNs), 3D CNNs, or Transformer-based point cloud models.