#輸入角度(弧度)的數(shù)組,返回角度平均值
def avgAngle(angles):
def getDiff(x1,x2):
pi = math.pi
if x1<0:
x1 += math.pi*2
if x2<0:
x2 += math.pi*2
diff = x2 - x1 + pi
if (diff < 0):
diff = diff + 2*pi - pi
elif (diff > 2 *pi):
diff = diff - 2*pi - pi
else:
diff = diff - pi
return diff
diff = 0
last = angles[0]
sum = angles[0]
for i in range(len(angles)-1):
diff = getDiff(angles[i],angles[i+1])
last += diff
sum += last
return normAngle(sum/len(angles))
# wrapping angle to [-pi .. pi]
def normAngle(angle):
import math
angle = math.fmod( angle + 5*math.pi, 2*math.pi) - math.pi
return angle
求平均角度
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。