TypeError Traceback (most recent call last) Cell In[8], line 1 ----> 1 R = o3d.geometry.get_rotation_matrix_from_axis_angle(axis,np.pi/4) TypeError: get_rotation_matrix_from_axis_angle(): incompatible function arguments. The following argument types are supported: 1. (rotation: numpy.ndarray[numpy.float64[3, 1]]) -> numpy.ndarray[numpy.float64[3, 3]] Invoked with: array([[0], [1], [0]]), 0.7853981633974483
时间: 2024-02-02 12:04:42 浏览: 104
这个错误提示仍然是因为参数类型不正确。你传递给 `get_rotation_matrix_from_axis_angle()` 函数的第一个参数应该是一个形状为 `(3,1)` 的 NumPy 数组,但你传递的是一个形状为 `(3,)` 的 NumPy 数组。你需要将其转换为 `(3,1)` 的形状,可以使用 NumPy 的 `reshape()` 函数,例如:
```
import numpy as np
import open3d as o3d
axis = np.array([0, 1, 0]).reshape(3, 1)
R = o3d.geometry.get_rotation_matrix_from_axis_angle(axis, np.pi/4)
```
这样就可以正确地调用 `get_rotation_matrix_from_axis_angle()` 函数了。
相关问题
TypeError Traceback (most recent call last) Cell In[5], line 1 ----> 1 R = o3d.geometry.get_rotation_matrix_from_axis_angle(axis,np.pi/4) TypeError: get_rotation_matrix_from_axis_angle(): incompatible function arguments. The following argument types are supported: 1. (rotation: numpy.ndarray[numpy.float64[3, 1]]) -> numpy.ndarray[numpy.float64[3, 3]] Invoked with: array([[0], [1], [0]]), 0.7853981633974483
这个错误提示仍然是因为参数类型不正确。你传递给 `get_rotation_matrix_from_axis_angle()` 函数的第一个参数应该是一个形状为 `(3,1)` 的 NumPy 数组,但你传递的是一个形状为 `(3,)` 的 NumPy 数组,这种情况下不需要使用 `reshape()`。正确的示例代码如下:
```
import numpy as np
import open3d as o3d
axis = np.array([[0], [1], [0]])
R = o3d.geometry.get_rotation_matrix_from_axis_angle(axis, np.pi/4)
```
这样就可以正确地调用 `get_rotation_matrix_from_axis_angle()` 函数了。
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) Cell In[3], line 1 ----> 1 R = o3d.geometry.get_rotation_matrix_from_axis_angle([0,1,0],np.pi/4) TypeError: get_rotation_matrix_from_axis_angle(): incompatible function arguments. The following argument types are supported: 1. (rotation: numpy.ndarray[numpy.float64[3, 1]]) -> numpy.ndarray[numpy.float64[3, 3]] Invoked with: [0, 1, 0], 0.7853981633974483
这个错误提示是因为你传递给 `get_rotation_matrix_from_axis_angle()` 函数的第一个参数应该是一个形状为 `(3,1)` 的 NumPy 数组,但是你传递的是一个列表 `[0,1,0]`。你需要将其转换为 NumPy 数组后再传递给函数,例如:
```
import numpy as np
import open3d as o3d
axis = np.array([0, 1, 0]).reshape(3, 1)
R = o3d.geometry.get_rotation_matrix_from_axis_angle(axis, np.pi/4)
```
这样就可以正确地调用 `get_rotation_matrix_from_axis_angle()` 函数了。
阅读全文