GS::Utils::Geometry
Geometry utilities module
Instance methods
apply_transform(p : Vec3, transform : NamedTuple(rotation: Array(Array(Float64)), c1: Vec3, c2: Vec3)) : Vec3
Apply Kabsch transform to a point
Estimate normal at a point using PCA of neighborhood
Fit plane to points, return normal and distance from origin
icp(source : Array(Vec3), target : Array(Vec3), iterations : Int32 = 50, tolerance : Float64 = 1e-6) : Array(Vec3)
ICP (Iterative Closest Point) registration Aligns source point cloud to target
Align coords1 onto coords2 using Kabsch algorithm
Kabsch RMSD with optimal rotation alignment
kabsch_transform(coords1 : Array(Vec3), coords2 : Array(Vec3)) : NamedTuple(rotation: Array(Array(Float64)), c1: Vec3, c2: Vec3) | Nil
Get Kabsch transform (rotation + translation)
refine_coordinates!(coords : Array(Vec3), constraints : Array(DistanceConstraint), iterations : Int32 = 100)
Refine coordinates to satisfy constraints
Compute RMSD between two point sets (no alignment)