Trees | Indices | Help |
|
---|
|
|
|||
float, float, float |
|
||
float, float, float |
|
||
float, float, float |
|
||
float, float, float |
|
||
float, float, float |
|
||
float, float, float |
|
||
float, float, float |
|
||
float, float, float |
|
||
float, float, float |
|
||
float, float, float |
|
||
float, float, float |
|
||
float, float, float |
|
||
|
|||
|
|||
float |
|
||
numpy 3D rank-1 array, float |
|
||
numpy 3D rank-1 array, float |
|
||
numpy 3D rank-1 array, float |
|
||
numpy 3D rank-1 array, float |
|
||
numpy 3D rank-1 array, float |
|
||
numpy 3D rank-1 array, float |
|
||
numpy 3D rank-1 array, float |
|
||
numpy 3D rank-1 array, float |
|
||
numpy 3D rank-1 array, float |
|
||
numpy 3D rank-1 array, float |
|
||
numpy 3D rank-1 array, float |
|
||
numpy 3D rank-1 array, float |
|
||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
tuple of int |
|
||
|
|||
|
|||
numpy 3D rank-1 array, float |
|
||
tuple of float |
|
||
tuple of float |
|
||
tuple of float |
|
||
tuple of float |
|
||
tuple of float |
|
||
tuple of float |
|
||
tuple of float |
|
||
tuple of float |
|
||
tuple of float |
|
||
tuple of float |
|
||
tuple of float |
|
||
tuple of float |
|
||
tuple of float |
|
||
tuple of float |
|
||
|
|||
|
|||
tuple of float |
|
||
tuple of float |
|
||
tuple of float |
|
||
tuple of float |
|
||
tuple of float |
|
||
tuple of float |
|
||
tuple of float |
|
||
tuple of float |
|
||
tuple of float |
|
||
tuple of float |
|
||
tuple of float |
|
||
tuple of float |
|
||
numpy 3D rank-1 array, float |
|
||
|
|||
|
|||
|
|
|||
EULER_NEXT =
|
|||
EULER_TRANS_TABLE =
|
|||
EULER_EPSILON = 1e-05
|
|||
__package__ =
|
Imports: deepcopy, acos, asin, atan2, cos, pi, sin, sqrt, array, cross, dot, float64, hypot, sign, transpose, zeros, norm, gauss, uniform, generic_fns
|
Convert the axis-angle notation to xyx Euler angles. This first generates a rotation matrix via axis_angle_to_R() and then used this together with R_to_euler_xyx() to obtain the Euler angles.
|
Convert the axis-angle notation to xyz Euler angles. This first generates a rotation matrix via axis_angle_to_R() and then used this together with R_to_euler_xyz() to obtain the Euler angles.
|
Convert the axis-angle notation to xzx Euler angles. This first generates a rotation matrix via axis_angle_to_R() and then used this together with R_to_euler_xzx() to obtain the Euler angles.
|
Convert the axis-angle notation to xzy Euler angles. This first generates a rotation matrix via axis_angle_to_R() and then used this together with R_to_euler_xzy() to obtain the Euler angles.
|
Convert the axis-angle notation to yxy Euler angles. This first generates a rotation matrix via axis_angle_to_R() and then used this together with R_to_euler_yxy() to obtain the Euler angles.
|
Convert the axis-angle notation to yxz Euler angles. This first generates a rotation matrix via axis_angle_to_R() and then used this together with R_to_euler_yxz() to obtain the Euler angles.
|
Convert the axis-angle notation to yzx Euler angles. This first generates a rotation matrix via axis_angle_to_R() and then used this together with R_to_euler_yzx() to obtain the Euler angles.
|
Convert the axis-angle notation to yzy Euler angles. This first generates a rotation matrix via axis_angle_to_R() and then used this together with R_to_euler_yzy() to obtain the Euler angles.
|
Convert the axis-angle notation to zxy Euler angles. This first generates a rotation matrix via axis_angle_to_R() and then used this together with R_to_euler_zxy() to obtain the Euler angles.
|
Convert the axis-angle notation to zxz Euler angles. This first generates a rotation matrix via axis_angle_to_R() and then used this together with R_to_euler_zxz() to obtain the Euler angles.
|
Convert the axis-angle notation to zyx Euler angles. This first generates a rotation matrix via axis_angle_to_R() and then used this together with R_to_euler_zyx() to obtain the Euler angles.
|
Convert the axis-angle notation to zyz Euler angles. This first generates a rotation matrix via axis_angle_to_R() and then used this together with R_to_euler_zyz() to obtain the Euler angles.
|
Generate the rotation matrix from the axis-angle notation. Conversion equationsFrom Wikipedia (http://en.wikipedia.org/wiki/Rotation_matrix), the conversion is given by: c = cos(angle); s = sin(angle); C = 1-c xs = x*s; ys = y*s; zs = z*s xC = x*C; yC = y*C; zC = z*C xyC = x*yC; yzC = y*zC; zxC = z*xC [ x*xC+c xyC-zs zxC+ys ] [ xyC+zs y*yC+c yzC-xs ] [ zxC-ys yzC+xs z*zC+c ]
|
Generate the quaternion from the axis-angle notation. Conversion equationsFrom Wolfram MathWorld (http://mathworld.wolfram.com/Quaternion.html), the conversion is given by: q = (cos(angle/2), n * sin(angle/2)), where q is the quaternion and n is the unit vector representing the rotation axis.
|
Return x with the sign of y. This is defined as: copysign(x, y) = abs(x) / abs(y) * y
|
Convert the xyx Euler angles to axis-angle notation. This function first generates a rotation matrix via euler_*_to_R() and then uses R_to_axis_angle() to convert to the axis and angle notation.
|
Convert the xyz Euler angles to axis-angle notation. This function first generates a rotation matrix via euler_*_to_R() and then uses R_to_axis_angle() to convert to the axis and angle notation.
|
Convert the xzx Euler angles to axis-angle notation. This function first generates a rotation matrix via euler_*_to_R() and then uses R_to_axis_angle() to convert to the axis and angle notation.
|
Convert the xzy Euler angles to axis-angle notation. This function first generates a rotation matrix via euler_*_to_R() and then uses R_to_axis_angle() to convert to the axis and angle notation.
|
Convert the yxy Euler angles to axis-angle notation. This function first generates a rotation matrix via euler_*_to_R() and then uses R_to_axis_angle() to convert to the axis and angle notation.
|
Convert the yxz Euler angles to axis-angle notation. This function first generates a rotation matrix via euler_*_to_R() and then uses R_to_axis_angle() to convert to the axis and angle notation.
|
Convert the yzx Euler angles to axis-angle notation. This function first generates a rotation matrix via euler_*_to_R() and then uses R_to_axis_angle() to convert to the axis and angle notation.
|
Convert the yzy Euler angles to axis-angle notation. This function first generates a rotation matrix via euler_*_to_R() and then uses R_to_axis_angle() to convert to the axis and angle notation.
|
Convert the zxy Euler angles to axis-angle notation. This function first generates a rotation matrix via euler_*_to_R() and then uses R_to_axis_angle() to convert to the axis and angle notation.
|
Convert the zxz Euler angles to axis-angle notation. This function first generates a rotation matrix via euler_*_to_R() and then uses R_to_axis_angle() to convert to the axis and angle notation.
|
Convert the zyx Euler angles to axis-angle notation. This function first generates a rotation matrix via euler_*_to_R() and then uses R_to_axis_angle() to convert to the axis and angle notation.
|
Convert the zyz Euler angles to axis-angle notation. This function first generates a rotation matrix via euler_*_to_R() and then uses R_to_axis_angle() to convert to the axis and angle notation.
|
Generate the x-y-x Euler angle convention rotation matrix. Rotation matrixThe rotation matrix is defined as the vector of unit vectors: R = [mux, muy, muz]. According to wikipedia (http://en.wikipedia.org/wiki/Euler_angles#Table_of_matrices), the rotation matrix for the xyx convention is: | cb sa*sb ca*sb | R = | sb*sg ca*cg - sa*cb*sg -sa*cg - ca*cb*sg |, | -sb*cg ca*sg + sa*cb*cg -sa*sg + ca*cb*cg | where: ca = cos(alpha), sa = sin(alpha), cb = cos(beta), sb = sin(beta), cg = cos(gamma), sg = sin(gamma).
|
Generate the x-y-z Euler angle convention rotation matrix. Rotation matrixThe rotation matrix is defined as the vector of unit vectors: R = [mux, muy, muz]. According to wikipedia (http://en.wikipedia.org/wiki/Euler_angles#Table_of_matrices), the rotation matrix for the xyz convention is: | cb*cg -ca*sg + sa*sb*cg sa*sg + ca*sb*cg | R = | cb*sg ca*cg + sa*sb*sg -sa*cg + ca*sb*sg |, | -sb sa*cb ca*cb | where: ca = cos(alpha), sa = sin(alpha), cb = cos(beta), sb = sin(beta), cg = cos(gamma), sg = sin(gamma).
|
Generate the x-z-x Euler angle convention rotation matrix. Rotation matrixThe rotation matrix is defined as the vector of unit vectors: R = [mux, muy, muz]. According to wikipedia (http://en.wikipedia.org/wiki/Euler_angles#Table_of_matrices), the rotation matrix for the xzx convention is: | cb -ca*sb sa*sb | R = | sb*cg -sa*sg + ca*cb*cg -ca*sg - sa*cb*cg |, | sb*sg sa*cg + ca*cb*sg ca*cg - sa*cb*sg | where: ca = cos(alpha), sa = sin(alpha), cb = cos(beta), sb = sin(beta), cg = cos(gamma), sg = sin(gamma).
|
Generate the x-z-y Euler angle convention rotation matrix. Rotation matrixThe rotation matrix is defined as the vector of unit vectors: R = [mux, muy, muz]. According to wikipedia (http://en.wikipedia.org/wiki/Euler_angles#Table_of_matrices), the rotation matrix for the xzy convention is: | cb*cg sa*sg - ca*sb*cg ca*sg + sa*sb*cg | R = | sb ca*cb -sa*cb |, | -cb*sg sa*cg + ca*sb*sg ca*cg - sa*sb*sg | where: ca = cos(alpha), sa = sin(alpha), cb = cos(beta), sb = sin(beta), cg = cos(gamma), sg = sin(gamma).
|
Generate the y-x-y Euler angle convention rotation matrix. Rotation matrixThe rotation matrix is defined as the vector of unit vectors: R = [mux, muy, muz]. According to wikipedia (http://en.wikipedia.org/wiki/Euler_angles#Table_of_matrices), the rotation matrix for the yxy convention is: | ca*cg - sa*cb*sg sb*sg sa*cg + ca*cb*sg | R = | sa*sb cb -ca*sb |, | -ca*sg - sa*cb*cg sb*cg -sa*sg + ca*cb*cg | where: ca = cos(alpha), sa = sin(alpha), cb = cos(beta), sb = sin(beta), cg = cos(gamma), sg = sin(gamma).
|
Generate the y-x-z Euler angle convention rotation matrix. Rotation matrixThe rotation matrix is defined as the vector of unit vectors: R = [mux, muy, muz]. According to wikipedia (http://en.wikipedia.org/wiki/Euler_angles#Table_of_matrices), the rotation matrix for the yxz convention is: | ca*cg - sa*sb*sg -cb*sg sa*cg + ca*sb*sg | R = | ca*sg + sa*sb*cg cb*cg sa*sg - ca*sb*cg |, | -sa*cb sb ca*cb | where: ca = cos(alpha), sa = sin(alpha), cb = cos(beta), sb = sin(beta), cg = cos(gamma), sg = sin(gamma).
|
Generate the y-z-x Euler angle convention rotation matrix. Rotation matrixThe rotation matrix is defined as the vector of unit vectors: R = [mux, muy, muz]. According to wikipedia (http://en.wikipedia.org/wiki/Euler_angles#Table_of_matrices), the rotation matrix for the yzx convention is: | ca*cb -sb sa*cb | R = | sa*sg + ca*sb*cg cb*cg -ca*sg + sa*sb*cg |, | -sa*cg + ca*sb*sg cb*sg ca*cg + sa*sb*sg | where: ca = cos(alpha), sa = sin(alpha), cb = cos(beta), sb = sin(beta), cg = cos(gamma), sg = sin(gamma).
|
Generate the y-z-y Euler angle convention rotation matrix. Rotation matrixThe rotation matrix is defined as the vector of unit vectors: R = [mux, muy, muz]. According to wikipedia (http://en.wikipedia.org/wiki/Euler_angles#Table_of_matrices), the rotation matrix for the yzy convention is: | -sa*sg + ca*cb*cg -sb*cg ca*sg + sa*cb*cg | R = | ca*sb cb sa*sb |, | -sa*cg - ca*cb*sg sb*sg ca*cg - sa*cb*sg | where: ca = cos(alpha), sa = sin(alpha), cb = cos(beta), sb = sin(beta), cg = cos(gamma), sg = sin(gamma).
|
Generate the z-x-y Euler angle convention rotation matrix. Rotation matrixThe rotation matrix is defined as the vector of unit vectors: R = [mux, muy, muz]. According to wikipedia (http://en.wikipedia.org/wiki/Euler_angles#Table_of_matrices), the rotation matrix for the zxy convention is: | ca*cg + sa*sb*sg -sa*cg + ca*sb*sg cb*sg | R = | sa*cb ca*cb -sb |, | -ca*sg + sa*sb*cg sa*sg + ca*sb*cg cb*cg | where: ca = cos(alpha), sa = sin(alpha), cb = cos(beta), sb = sin(beta), cg = cos(gamma), sg = sin(gamma).
|
Generate the z-x-z Euler angle convention rotation matrix. Rotation matrixThe rotation matrix is defined as the vector of unit vectors: R = [mux, muy, muz]. According to wikipedia (http://en.wikipedia.org/wiki/Euler_angles#Table_of_matrices), the rotation matrix for the zxz convention is: | ca*cg - sa*cb*sg -sa*cg - ca*cb*sg sb*sg | R = | ca*sg + sa*cb*cg -sa*sg + ca*cb*cg -sb*cg |, | sa*sb ca*sb cb | where: ca = cos(alpha), sa = sin(alpha), cb = cos(beta), sb = sin(beta), cg = cos(gamma), sg = sin(gamma).
|
Generate the z-y-x Euler angle convention rotation matrix. Rotation matrixThe rotation matrix is defined as the vector of unit vectors: R = [mux, muy, muz]. According to wikipedia (http://en.wikipedia.org/wiki/Euler_angles#Table_of_matrices), the rotation matrix for the zyx convention is: | ca*cb -sa*cb sb | R = | sa*cg + ca*sb*sg ca*cg - sa*sb*sg -cb*sg |, | sa*sg - ca*sb*cg ca*sg + sa*sb*cg cb*cg | where: ca = cos(alpha), sa = sin(alpha), cb = cos(beta), sb = sin(beta), cg = cos(gamma), sg = sin(gamma).
|
Generate the z-y-z Euler angle convention rotation matrix. Rotation matrixThe rotation matrix is defined as the vector of unit vectors: R = [mux, muy, muz]. According to wikipedia (http://en.wikipedia.org/wiki/Euler_angles#Table_of_matrices), the rotation matrix for the zyz convention is: | -sa*sg + ca*cb*cg -ca*sg - sa*cb*cg sb*cg | R = | sa*cg + ca*cb*sg ca*cg - sa*cb*sg sb*sg |, | -ca*sb sa*sb cb | where: ca = cos(alpha), sa = sin(alpha), cb = cos(beta), sb = sin(beta), cg = cos(gamma), sg = sin(gamma).
|
Calculate the parameteric indices i, j, k, and h. This is one of the algorithms of Ken Shoemake in "Euler Angle Conversion. Graphics Gems IV. Paul Heckbert (ed.). Academic Press, 1994, ISBN: 0123361567. pp. 222-229." (http://www.graphicsgems.org/). The indices (i, j, k) are a permutation of (x, y, z), and the index h corresponds to the row containing the Givens argument a.
|
Generate a random rotation matrix of fixed angle via the axis-angle notation. Uniform point sampling on a unit sphere is used to generate a random axis orientation. This, together with the fixed rotation angle, is used to generate the random rotation matrix.
|
Generate a random rotation matrix using 4D hypersphere point picking. A quaternion is generated by creating a 4D vector with each value randomly selected from a Gaussian distribution, and then normalising.
|
Convert the rotation matrix into the axis-angle notation. Conversion equationsFrom Wikipedia (http://en.wikipedia.org/wiki/Rotation_matrix), the conversion is given by: x = Qzy-Qyz y = Qxz-Qzx z = Qyx-Qxy r = hypot(x,hypot(y,z)) t = Qxx+Qyy+Qzz theta = atan2(r,t-1)
|
Convert the rotation matrix to the given Euler angles. This uses the algorithms of Ken Shoemake in "Euler Angle Conversion. Graphics Gems IV. Paul Heckbert (ed.). Academic Press, 1994, ISBN: 0123361567. pp. 222-229." (http://www.graphicsgems.org/). The Euler angle notation can be one of:
|
Convert the rotation matrix to the xyx Euler angles.
|
Convert the rotation matrix to the xyz Euler angles.
|
Convert the rotation matrix to the xzx Euler angles.
|
Convert the rotation matrix to the xzy Euler angles.
|
Convert the rotation matrix to the yxy Euler angles.
|
Convert the rotation matrix to the yxz Euler angles.
|
Convert the rotation matrix to the yzx Euler angles.
|
Convert the rotation matrix to the yzy Euler angles.
|
Convert the rotation matrix to the zxy Euler angles.
|
Convert the rotation matrix to the zxz Euler angles.
|
Convert the rotation matrix to the zyx Euler angles.
|
Convert the rotation matrix to the zyz Euler angles.
|
Convert the rotation matrix to the tilt and torsion rotation angles. This notation is taken from "Bonev, I. A. and Gosselin, C. M. (2006) Analytical determination of the workspace of symmetrical spherical parallel mechanisms. IEEE Transactions on Robotics, 22(5), 1011-1017".
|
Convert a rotation matrix into quaternion form. This is from Wikipedia (http://en.wikipedia.org/wiki/Rotation_matrix#Quaternion), where: w = 0.5*sqrt(1+Qxx+Qyy+Qzz), x = copysign(0.5*sqrt(1+Qxx-Qyy-Qzz),Qzy-Qyz), y = copysign(0.5*sqrt(1-Qxx+Qyy-Qzz),Qxz-Qzx), z = copysign(0.5*sqrt(1-Qxx-Qyy+Qzz),Qyx-Qxy), where the quaternion is defined as q = (w, x, y, z), and the copysign function is x with the sign of y: copysign(x, y) = abs(x) / abs(y) * y
|
Generate a random rotation axis. Uniform point sampling on a unit sphere is used to generate a random axis orientation.
|
Convert the given forward rotation Euler angles into the equivalent reverse rotation Euler angles. This if for the xyx notation.
|
Convert the given forward rotation Euler angles into the equivalent reverse rotation Euler angles. This if for the xyz notation.
|
Convert the given forward rotation Euler angles into the equivalent reverse rotation Euler angles. This if for the xzx notation.
|
Convert the given forward rotation Euler angles into the equivalent reverse rotation Euler angles. This if for the xzy notation.
|
Convert the given forward rotation Euler angles into the equivalent reverse rotation Euler angles. This if for the yxy notation.
|
Convert the given forward rotation Euler angles into the equivalent reverse rotation Euler angles. This if for the yxz notation.
|
Convert the given forward rotation Euler angles into the equivalent reverse rotation Euler angles. This if for the yzx notation.
|
Convert the given forward rotation Euler angles into the equivalent reverse rotation Euler angles. This if for the yzy notation.
|
Convert the given forward rotation Euler angles into the equivalent reverse rotation Euler angles. This if for the zxy notation.
|
Convert the given forward rotation Euler angles into the equivalent reverse rotation Euler angles. This if for the zxz notation.
|
Convert the given forward rotation Euler angles into the equivalent reverse rotation Euler angles. This if for the zyx notation.
|
Convert the given forward rotation Euler angles into the equivalent reverse rotation Euler angles. This if for the zyz notation.
|
Convert a quaternion into the axis-angle notation. Conversion equationsFrom Wolfram MathWorld (http://mathworld.wolfram.com/Quaternion.html), the conversion is given by: q = (cos(angle/2), n * sin(angle/2)), where q is the quaternion and n is the unit vector representing the rotation axis. Therfore: angle = 2*acos(w), axis = 2*asin([x, y, z])
|
Convert a quaternion into rotation matrix form. This is from Wikipedia (http://en.wikipedia.org/wiki/Rotation_matrix#Quaternion), where: | 1 - 2y**2 - 2z**2 2xy - 2zw 2xz + 2yw | Q = | 2xy + 2zw 1 - 2x**2 - 2z**2 2yz - 2xw |, | 2xz - 2yw 2yz + 2xw 1 - 2x**2 - 2y**2 | and where the quaternion is defined as q = (w, x, y, z). This has been verified using Simo Saerkkae's "Notes on Quaternions" at http://www.lce.hut.fi/~ssarkka/.
|
Generate a rotation matrix from the tilt and torsion rotation angles. This notation is taken from "Bonev, I. A. and Gosselin, C. M. (2006) Analytical determination of the workspace of symmetrical spherical parallel mechanisms. IEEE Transactions on Robotics, 22(5), 1011-1017".
|
Calculate the rotation matrix required to rotate from one vector to another. For the rotation of one vector to another, there are an infinit series of rotation matrices possible. Due to axially symmetry, the rotation axis can be any vector lying in the symmetry plane between the two vectors. Hence the axis-angle convention will be used to construct the matrix with the rotation axis defined as the cross product of the two vectors. The rotation angle is the arccosine of the dot product of the two unit vectors. Given a unit vector parallel to the rotation axis, w = [x, y, z] and the rotation angle a, the rotation matrix R is: | 1 + (1-cos(a))*(x*x-1) -z*sin(a)+(1-cos(a))*x*y y*sin(a)+(1-cos(a))*x*z | R = | z*sin(a)+(1-cos(a))*x*y 1 + (1-cos(a))*(y*y-1) -x*sin(a)+(1-cos(a))*y*z | | -y*sin(a)+(1-cos(a))*x*z x*sin(a)+(1-cos(a))*y*z 1 + (1-cos(a))*(z*z-1) |
|
|
EULER_TRANS_TABLE
|
Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0.1 on Wed Apr 10 13:30:30 2013 | http://epydoc.sourceforge.net |