pytransform3d.transformations.scale_transform#

pytransform3d.transformations.scale_transform(A2B, s_xr=1.0, s_yr=1.0, s_zr=1.0, s_r=1.0, s_xt=1.0, s_yt=1.0, s_zt=1.0, s_t=1.0, s_d=1.0, strict_check=True)[source]#

Scale a transform from A to reference frame B.

See algorithm 10 from “Analytic Approaches for Design and Operation of Haptic Human-Machine Interfaces” (Bertold Bongardt).

Parameters:
A2Barray-like, shape (4, 4)

Transform from frame A to frame B

s_xrfloat, optional (default: 1)

Scaling of x-component of the rotation axis

s_yrfloat, optional (default: 1)

Scaling of y-component of the rotation axis

s_zrfloat, optional (default: 1)

Scaling of z-component of the rotation axis

s_rfloat, optional (default: 1)

Scaling of the rotation

s_xtfloat, optional (default: 1)

Scaling of z-component of the translation

s_ytfloat, optional (default: 1)

Scaling of z-component of the translation

s_ztfloat, optional (default: 1)

Scaling of z-component of the translation

s_tfloat, optional (default: 1)

Scaling of the translation

s_dfloat, optional (default: 1)

Scaling of the whole transform (displacement)

strict_checkbool, optional (default: True)

Raise a ValueError if the transformation matrix is not numerically close enough to a real transformation matrix. Otherwise we print a warning.

Returns:
A2B_scaled

Scaled transform from frame A to frame B (actually this is a transform from A to another frame C)