ベクトル(v)を作成し、その上にrotMatrix関数を実行したいと思います。私はどのようにvector(v)で30度の関数rotMatrixを呼び出すのか分かりません。私もベクトルをプロットしています。あなたのrotMatrix機能で回転行列をベクトル+プロットに適用する
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
sns.set_style("white")
import math
def rotMatrix(angle):
return np.array([[np.cos(np.degrees(angle)), np.arcsin(np.degrees(angle))], [np.sin(np.degrees(angle)), np.cos(np.degrees(angle))]])
v = np.array([3,7])
v30 = rotMatrix(np.degrees(30)).dot(v)
plt.arrow(0,0,v[0],v[1], head_width=0.8, head_length=0.8)
plt.arrow(0,0,v30[0],v30[1],head_width=0.8, head_length=0.8)
plt.axis([-5,5,0,10])
plt.show()
あなたは入力の種類を確認するために 'np.cos(...) 'を調べましたか?ラジアン、度など? – hpaulj
'v30 = rotMatrix(np.degrees(30))* v'を実行すると、ベクトルに回転行列を掛けることができます。 btw、degreesはラジアンから次の角度に変換するための角度です。角度は0度にしてください。 – samgak
@hpaulj np.cos()はラジアンを取るため、np.degreesを使用しています。これは間違っていますか? –