Python:从cos(a)和sin(a)值找到角度[0:360]的度数

问题描述 投票:0回答:2

我想找到我的角度0360之间的度数。我有一个包含2列的DataFrame:cossin值。

df['cos'] = vector values between 0 and 1

df['sin'] = vector values between 0 and 1
python trigonometry
2个回答
1
投票

您可以使用numpy模块,该模块包含对向量起作用的三角函数,例如arcsinarccos,这些函数采用sin和cos值并返回角度。您可以使用degrees函数将弧度转换为度。


1
投票

我猜你的意思是:

import math

angle = math.degrees(math.acos(df['cos']))

要真正保持在[0,360],您将需要检查负cos并修改代码,例如:

import math
a_acos = math.acos(df['cos'])
if df['sin'] < 0:
   angle = math.degrees(-a_acos) % 360
else: 
   angle = math.degrees(a_acos)
© www.soinside.com 2019 - 2024. All rights reserved.