skrobot.coordinates.geo.orient_coords_to_axis
- skrobot.coordinates.geo.orient_coords_to_axis(target_coords, v, axis='z', eps=0.005)[source]
Orient axis to the direction
Deprecated since version Use:
skrobot.coordinates.Coordinates.align_axis_to_direction()instead.orient_coords_to_axis(c, v, axis)is equivalent toc.align_axis_to_direction(v, axis).Orient axis in target_coords to the direction specified by v.
- Parameters:
target_coords (skrobot.coordinates.Coordinates)
v (list or numpy.ndarray) – position of target [x, y, z]
axis (list or string or numpy.ndarray) – see convert_to_axis_vector function
eps (float (optional)) – eps
- Returns:
target_coords
- Return type:
Examples
>>> import numpy as np >>> from skrobot.coordinates import Coordinates >>> from skrobot.coordinates.geo import orient_coords_to_axis >>> c = Coordinates() >>> oriented_coords = orient_coords_to_axis(c, [1, 0, 0]) >>> oriented_coords.translation array([0., 0., 0.]) >>> oriented_coords.rpy_angle() (array([0. , 1.57079633, 0. ]), array([3.14159265, 1.57079633, 3.14159265]))
>>> c = Coordinates(pos=[0, 1, 0]) >>> oriented_coords = orient_coords_to_axis(c, [0, 1, 0]) >>> oriented_coords.translation array([0., 1., 0.]) >>> oriented_coords.rpy_angle() (array([ 0. , -0. , -1.57079633]), array([ 3.14159265, -3.14159265, 1.57079633]))
>>> c = Coordinates(pos=[0, 1, 0]).rotate(np.pi / 3, 'y') >>> oriented_coords = orient_coords_to_axis(c, [0, 1, 0]) >>> oriented_coords.translation array([0., 1., 0.]) >>> oriented_coords.rpy_angle() (array([-5.15256299e-17, 1.04719755e+00, -1.57079633e+00]), array([3.14159265, 2.0943951 , 1.57079633]))