亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python 矩陣類型

Python 矩陣類型

jeck貓 2023-10-06 19:25:53
coordinate_1 = np.array([[(np.cos(0) * np.cos(alpha_radian),                       np.cos(0) * np.sin(alpha_radian) * np.sin(                           alpha_radian) - np.sin(0) * np.cos(alpha_radian),                       np.cos(0) * np.sin(alpha_radian) * np.cos(alpha_radian))],                     [np.sin(0) * np.cos(alpha_radian),                      (np.sin(0) * np.sin(alpha_radian) * np.sin(                          alpha_radian)) - (                              np.cos(0) * np.cos(alpha_radian)),                      (np.sin(0) * np.sin(alpha_radian) * np.cos(                          alpha_radian)) - (                              np.cos(0) * np.sin(alpha_radian))],                     [-np.sin(alpha_radian),                      np.cos(alpha_radian) * np.sin(alpha_radian),                      np.cos(alpha_radian) * np.cos(alpha_radian)]])print(coordinate_1)print(type(coordinate_1))并輸出[list([(0.7071067811865476, 0.4999999999999999, 0.5)])list([0.0, -0.7071067811865476, -0.7071067811865475])list([-0.7071067811865475, 0.5, 0.5000000000000001])]<class 'numpy.ndarray'>為什么矩陣輸出總是在開始矩陣處包含一個“列表” ,如何將它們轉換為浮點數,我可以進行一個簡單的矩陣乘法。
查看完整描述

1 回答

?
小唯快跑啊

TA貢獻1863條經驗 獲得超2個贊

我不確定為什么這些是列表,但我認為你更大的問題是你試圖強加看起來像 3d 旋轉的元素,對嗎?

如果是這樣,請不要使用當前的實現,而是使用 scipy.spatial.transform.Rotation`。

那里的例子:

from scipy.spatial.transform import Rotation as R
r = R.from_euler('xyz', angles=[-45, 45, 0], degrees=True)
r.as_matrix()

這輸出:

array([[ 7.07106781e-01, -5.00000000e-01,  5.00000000e-01],
       [-5.55111512e-17,  7.07106781e-01,  7.07106781e-01],
       [-7.07106781e-01, -5.00000000e-01,  5.00000000e-01]])

這和你的很相似。只需根據您使用的 alpha_radians 來調整角度即可。

這比寫那些令人頭痛的行要好得多:)


查看完整回答
反對 回復 2023-10-06
  • 1 回答
  • 0 關注
  • 121 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號