gpt4 book ai didi

c - 使用俯仰和横滚值的倾斜传感器的图形设计

转载 作者:行者123 更新时间:2023-11-30 17:30:25 26 4
gpt4 key购买 nike

我正在尝试使用“C”根据俯仰和滚动值设计图形。为此,我有一个倾斜传感器(加速度计),它可以输出滚动和俯仰值。我想利用一个图形,它应该能够向我显示倾斜传感器倾斜的方向。

下面是我的程序中的一些代码,用于确定角度(基于俯仰和滚动值)。

szBuff[] 具有 R:SXXX.XX P:SXXX.XX\r\n 格式的数据

其中 S= 符号,R= 滚动,P= 俯仰。

    if (szBuff[2] == '+' && szBuff[12] == '-')
{
-------------------------------------
if(pitch>roll){
Angle = atan(pitch / pitch- roll); // Insert formula here
-------------------------------------
}
}

这里的俯仰和横滚没有符号。

我画了一条根据俯仰和滚动值而偏转的线。使用上面的算法我计算它必须偏转的角度。

 line((left+150),(top+150),((left+150)+150*cos(Angle)),((top+150)+150*sin(Angle)));

我需要一个可以实现我的目标的数学方程。 Angle = atan(pitch/itch -roll) 未绘制所需的角度。仅对于相同的俯仰和滚动,它才成立并抛出 90 度(这意味着我向前倾斜传感器)。那么您能否用一些数学表达式替换角度公式,该数学表达式可以根据滚动和俯仰生成倾斜角度。

我附上了输出的屏幕截图。如果您发现我的问题含糊不清,请原谅并提出改进问题的建议,以便我得到答案。 enter image description here

最佳答案

通常,俯仰和横滚是角度。我假设横滚是绕垂直轴旋转的角度,俯仰是绕水平轴旋转的角度。

然后您可以计算 3d 位置:

x = sin(roll) * cos(pitch)
y = sin(pitch)
z = cos(roll) * cos(pitch)

rollpitch 都应包含其符号。

您似乎想将此 vector 投影到固定平面(可能是 xz 平面)上。然后你可以使用以下方法绘制它:

line( left+150,
top+150,
left+150+150*x,
top+150+150*z );

关于c - 使用俯仰和横滚值的倾斜传感器的图形设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25152330/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com