python 求兩個向量的順時針夾角

2021-10-11 17:42:35 字數 877 閱讀 9677

以上述舉例,要求 ob⃗

\vec

ob相對 oa⃗

\vec

oa的順時針夾角。注意:這裡使用影象座標系

1 定義求順時針角度的函式

import numpy as np

defclockwise_angle

(v1, v2)

: x1,y1 = v1

x2,y2 = v2

dot = x1*x2+y1*y2

det = x1*y2-y1*x2

theta = np.arctan2(det, dot)

theta = theta if theta>

0else

2*np.pi+theta

return theta

2 求 v1( oa⃗

\vec

oa), v2(ob⃗

\vec

ob), 然後求夾角θ

\theta

θ

v1 =[2

-0,1

-0]=

[2,1

]v2 =[4

-0,5

-0]=

[4,5

]theta = clockwise_angle(v1,v2)

print

(theta*

180/np.pi)

# 24.77

所以ob⃗

\vec

ob相對 oa⃗

\vec

oa順時針轉了24.77度

計算兩個向量的夾角(分逆時針與順時針)

兩個向量,求解乙個向量旋轉到另乙個向量的角度,逆時針為正,順時針為負。兩向量的夾角,角度帶正負號 def calangle v1,v2 v1旋轉到v2,逆時針為正,順時針為負 2個向量模的乘積 thenorm np.linalg.norm v1 np.linalg.norm v2 叉乘 rho np...

python求兩個向量的夾角

import numpy as np x np.array 3,5 y np.array 4,2 兩個向量 lx np.sqrt x.dot x ly np.sqrt y.dot y 相當於勾股定理,求得斜線的長度 cos angle x.dot y lx ly 求得cos sita的值再反過來計算...

順時針 逆時針兩種方式減小的倒計時動畫

順時針畫矩形 rectshapelayer cashapelayer layer rectshapelayer.strokestart 0.0f rectshapelayer.strokeend 1.0f uibezierpath path uibezierpath bezierpathwithre...