Aim: implements backward rigid transformation of point in 3D integer space around any arbitrary axis. This implementation uses the Rodrigues' rotation formula. Warring: This version uses closest neighbor interpolation.
More...
template<typename TSpace, typename TInputValue = typename TSpace::RealPoint, typename TOutputValue = typename TSpace::Point, typename TFunctor = VectorRounding < TInputValue, TOutputValue >>
class DGtal::functors::BackwardRigidTransformation3D< TSpace, TInputValue, TOutputValue, TFunctor >
Aim: implements backward rigid transformation of point in 3D integer space around any arbitrary axis. This implementation uses the Rodrigues' rotation formula. Warring: This version uses closest neighbor interpolation.
Description of template functor like class 'BackwardRigidTransformation3D'
- Template Parameters
-
TSpace | a 3 dimensional space. |
TInputValue | type of the input point e.g., TSpace::RealPoint |
TOutputValue | type of the output point e.g., TSpace::Point |
TFunctor | a functor operating on the output e.g., a rounding function. |
- See also
- exampleRigidtransformation3d.cpp
Definition at line 164 of file RigidTransformation3D.h.
template<typename TSpace , typename TInputValue = typename TSpace::RealPoint, typename TOutputValue = typename TSpace::Point, typename TFunctor = VectorRounding < TInputValue, TOutputValue >>
Constructor.
- Parameters
-
aOrigin | the center of rotation. |
aAxis | the axis of rotation. |
angle | the angle given in radians. |
aTranslate | the 3D dimensional vector which represents translation. |
Definition at line 186 of file RigidTransformation3D.h.
190 if ( std::isnan(
axis.norm() ) )
191 throw std::runtime_error (
"Axis of rotation can not be set as a vector of length 0!" );
193 t_sin = std::sin ( angle );
194 t_cos = std::cos ( angle );
References DGtal::functors::BackwardRigidTransformation3D< TSpace, TInputValue, TOutputValue, TFunctor >::axis, DGtal::functors::BackwardRigidTransformation3D< TSpace, TInputValue, TOutputValue, TFunctor >::t_cos, and DGtal::functors::BackwardRigidTransformation3D< TSpace, TInputValue, TOutputValue, TFunctor >::t_sin.
template<typename TSpace , typename TInputValue = typename TSpace::RealPoint, typename TOutputValue = typename TSpace::Point, typename TFunctor = VectorRounding < TInputValue, TOutputValue >>
Operator
- Returns
- the transformed point.
Definition at line 203 of file RigidTransformation3D.h.
References DGtal::functors::BackwardRigidTransformation3D< TSpace, TInputValue, TOutputValue, TFunctor >::axis, DGtal::functors::BackwardRigidTransformation3D< TSpace, TInputValue, TOutputValue, TFunctor >::functor, DGtal::functors::BackwardRigidTransformation3D< TSpace, TInputValue, TOutputValue, TFunctor >::origin, DGtal::functors::BackwardRigidTransformation3D< TSpace, TInputValue, TOutputValue, TFunctor >::t_cos, DGtal::functors::BackwardRigidTransformation3D< TSpace, TInputValue, TOutputValue, TFunctor >::t_sin, and DGtal::functors::BackwardRigidTransformation3D< TSpace, TInputValue, TOutputValue, TFunctor >::trans.