Open3D (C++ API)  0.19.0
Functions
open3d::t::geometry::kernel::minimum_obe Namespace Reference

Functions

open3d::geometry::OrientedBoundingEllipsoid ComputeMinimumOBEKhachiyan (const std::vector< Eigen::Vector3d > &points, bool robust)
 
OrientedBoundingEllipsoid ComputeMinimumOBEKhachiyan (const core::Tensor &points, bool robust)
 

Function Documentation

◆ ComputeMinimumOBEKhachiyan() [1/2]

OrientedBoundingEllipsoid open3d::t::geometry::kernel::minimum_obe::ComputeMinimumOBEKhachiyan ( const core::Tensor points,
bool  robust 
)

Tensor wrapper: accepts an (N, 3) tensor of any supported float dtype on any device. Converts to Eigen on the CPU, calls the Eigen core above, and converts the result back to a tensor OBE with the same dtype and device as the input points.

◆ ComputeMinimumOBEKhachiyan() [2/2]

open3d::geometry::OrientedBoundingEllipsoid open3d::t::geometry::kernel::minimum_obe::ComputeMinimumOBEKhachiyan ( const std::vector< Eigen::Vector3d > &  points,
bool  robust 
)

Creates the oriented bounding ellipsoid with the smallest volume using Khachiyan's algorithm. This algorithm computes the minimum volume enclosing ellipsoid (MVEE) around a set of points. The MVEE is unique and can be computed to arbitrary precision using an iterative algorithm.

The algorithm works by:

  1. Computing the convex hull of the input points
  2. Running Khachiyan's algorithm to find the optimal ellipsoid
  3. Extracting the ellipsoid parameters (center, orientation, radii)

All computation is in Eigen (Float64) on the CPU.

Parameters
pointsConvex-hull or raw point set (each element is a 3D point). Must contain at least 4 non-coplanar points.
robustIf true, joggle the convex-hull computation to handle degenerate / near-planar inputs.
Returns
Legacy OrientedBoundingEllipsoid (Eigen types, Float64).