我正在做一个项目,我必须根据位置传感器的值来旋转轮胎。传感器提供从 261(-90 度)到 395(+90 度)的值。我使用TransformGroup
的传感器值几乎是 327,轮胎应该是直的和直立的。
当值为 395 时,轮胎将完全位于 X 轴上,与值为 261 的情况类似。我可以移动轮胎,但无法计算精确的角度。
我的计算方式就像我计算特定角度(比如 3)的默认值或零值(327)之间的值的数量。所以我得到了那个角度的值的数量。然后我将这个数字与角度(3度)相除。所以我得到一个值的角度。
float tempangle = value from sensor-zero value which is 327;
tempangle = Math.Abs(tempangle);
tempangle /= float.Parse(angle for reference say 3 degree);
tempangle = 1 / tempangle;
在这里,我在传感器下放置了一些已知角度的物体(具有角度)。当我想为某个值找到某个角度时,我只需将该角度乘以该值和默认值(327)之间的值数。所以我得到了旋转身体的角度。
假设我在计算后有角度
angle for one sensor value =1.14286286
假设我用计算器计算角度
1.14286286 *2=2.2857
1.14286286 *3=3.42858
1.14286286 *4=4.57145
1.14286286 *5=5.714314
1.14286286 *6=6.85717
如您所见,角度正在跳过一些十进制值。有什么办法可以配合吗?谢谢