為了簡單起見,我有一個時間序列,如下所示:
import pandas as pd
points = [0, 1, 0, 0, -1, 0]
df = pd.DataFrame(points)
df.plot(legend=False)

現在我想根據特定角度旋轉值,該角度介于 0 到 90 度之間。
注意:我真的不需要能夠繪制這些值,但我對結果值很感興趣。
根據 matplotlib,旋轉 90 度的結果圖如下所示:
from matplotlib import pyplot, transforms
base = pyplot.gca().transData
rot = transforms.Affine2D().rotate_deg(90)
pyplot.plot(df, transform=rot base)
pyplot.show()

所以我在問,讓值旋轉一個角度的數學/編程方式是什么?
uj5u.com熱心網友回復:
試試下面:
將XYZ空間中的一點繞Z軸旋轉γ角:
import numpy as np
import math
def rotate_z(x, y, z, gamma):
gamma = gamma * (np.pi / 180)
x_r = np.cos(gamma)*x - np.sin(gamma)*y
y_r = np.sin(gamma)*x np.cos(gamma)*y
z_r = z
print(f"{(x, y, z)} rotate {gamma*(180/np.pi)} degrees around the Z-axis,result {(x_r, y_r, z_r)}")
return x_r, y_r, z_r
公式如下: 圍繞z軸旋轉一些度以獲得結果
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/511535.html
上一篇:如何生成亂數學運算子
下一篇:在R中處理非常精確的數字
