This class and its main method can be used to solve the problem of 3D shape alignment. This algorithm uses a point-to-plane error metric in which the object of minimization is the sum of the squared distance between a point and the tangent plane at its correspondence point. To use this technique it's need to have small rotation angles. So there is an approximate solution. The result of this algorithm is the transformation of first points (p1) which aligns it to the second ones (p2). Generated from class MR.PointToPlaneAligningTransform. This is the const half of the class.
More...
Inheritance diagram for MR.Const_PointToPlaneAligningTransform:Classes | |
| struct | _Underlying |
Public Member Functions | |
| virtual void | Dispose () |
| unsafe | Const_PointToPlaneAligningTransform () |
| Constructs an empty (default-constructed) instance. | |
| unsafe | Const_PointToPlaneAligningTransform (MR._ByValue_PointToPlaneAligningTransform _other) |
Generated from constructor MR.PointToPlaneAligningTransform.PointToPlaneAligningTransform. | |
| unsafe MR.AffineXf3d | findBestRigidXf () |
Compute transformation as the solution to a least squares optimization problem: xf( p1_i ) = p2_i this version searches for best rigid body transformation Generated from method MR.PointToPlaneAligningTransform.findBestRigidXf. | |
| unsafe MR.AffineXf3d | findBestRigidScaleXf () |
this version searches for best rigid body transformation with uniform scaling Generated from method MR.PointToPlaneAligningTransform.findBestRigidScaleXf. | |
| unsafe MR.AffineXf3d | findBestRigidXfFixedRotationAxis (in MR.Vector3d axis) |
this version searches for best transformation where rotation is allowed only around given axis and with arbitrary translation Generated from method MR.PointToPlaneAligningTransform.findBestRigidXfFixedRotationAxis. | |
| unsafe MR.AffineXf3d | findBestRigidXfOrthogonalRotationAxis (in MR.Vector3d ort) |
this version searches for best transformation where rotation is allowed only around axes orthogonal to given one Generated from method MR.PointToPlaneAligningTransform.findBestRigidXfOrthogonalRotationAxis. | |
| unsafe MR.Vector3d | findBestTranslation (MR._InOpt_Vector3d rotAngles=default, double? scale=null) |
this version searches for best translational part of affine transformation with given linear part Generated from method MR.PointToPlaneAligningTransform.findBestTranslation. Parameter rotAngles defaults to {}. Parameter scale defaults to 1. | |
| unsafe MR.RigidScaleXf3d | calculateAmendment () |
Compute transformation relative to given approximation and return it as angles and shift (scale = 1) Generated from method MR.PointToPlaneAligningTransform.calculateAmendment. | |
| unsafe MR.RigidScaleXf3d | calculateAmendmentWithScale () |
Compute transformation relative to given approximation and return it as scale, angles and shift Generated from method MR.PointToPlaneAligningTransform.calculateAmendmentWithScale. | |
| unsafe MR.RigidScaleXf3d | calculateFixedAxisAmendment (in MR.Vector3d axis) |
this version searches for best transformation where rotation is allowed only around given axis and with arbitrary translation Generated from method MR.PointToPlaneAligningTransform.calculateFixedAxisAmendment. | |
| unsafe MR.RigidScaleXf3d | calculateOrthogonalAxisAmendment (in MR.Vector3d ort) |
this version searches for best transformation where rotation is allowed only around axes orthogonal to given one Generated from method MR.PointToPlaneAligningTransform.calculateOrthogonalAxisAmendment. | |
Protected Member Functions | |
| virtual unsafe void | Dispose (bool disposing) |
Additional Inherited Members | |
Protected Attributes inherited from MR.Misc.Object< Const_PointToPlaneAligningTransform > | |
| bool | _IsOwningVal |
Properties inherited from MR.Misc.Object< Const_PointToPlaneAligningTransform > | |
| virtual bool | _IsOwning [get] |
| Returns true if this is an owning instance, and when disposed, will destroy the underlying C++ instance. If false, we assume that the underlying C++ instance will live long enough. | |
This class and its main method can be used to solve the problem of 3D shape alignment. This algorithm uses a point-to-plane error metric in which the object of minimization is the sum of the squared distance between a point and the tangent plane at its correspondence point. To use this technique it's need to have small rotation angles. So there is an approximate solution. The result of this algorithm is the transformation of first points (p1) which aligns it to the second ones (p2). Generated from class MR.PointToPlaneAligningTransform. This is the const half of the class.