#输入角度(弧度)的数组,返回角度平均值
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
求平均角度
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。