同步操作将从 Gitee 极速下载/PythonRobotics 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
import numpy as npfrom scipy.spatial.transform import Rotation as Rotdef rot_mat_2d(angle):"""Create 2D rotation matrix from an angleParameters----------angle :Returns-------A 2D rotation matrixExamples-------->>> angle_mod(-4.0)"""return Rot.from_euler('z', angle).as_matrix()[0:2, 0:2]def angle_mod(x, zero_2_2pi=False, degree=False):"""Angle modulo operationDefault angle modulo range is [-pi, pi)Parameters----------x : float or array_likeA angle or an array of angles. This array is flattened forthe calculation. When an angle is provided, a float angle is returned.zero_2_2pi : bool, optionalChange angle modulo range to [0, 2pi)Default is False.degree : bool, optionalIf True, then the given angles are assumed to be in degrees.Default is False.Returns-------ret : float or ndarrayan angle or an array of modulated angle.Examples-------->>> angle_mod(-4.0)2.28318531>>> angle_mod([-4.0])np.array(2.28318531)>>> angle_mod([-150.0, 190.0, 350], degree=True)array([-150., -170., -10.])>>> angle_mod(-60.0, zero_2_2pi=True, degree=True)array([300.])"""if isinstance(x, float):is_float = Trueelse:is_float = Falsex = np.asarray(x).flatten()if degree:x = np.deg2rad(x)if zero_2_2pi:mod_angle = x % (2 * np.pi)else:mod_angle = (x + np.pi) % (2 * np.pi) - np.piif degree:mod_angle = np.rad2deg(mod_angle)if is_float:return mod_angle.item()else:return mod_angle
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。