Wpf 精确角度计算

Wpf 精确角度计算,wpf,math,rotation,transformation,Wpf,Math,Rotation,Transformation,我正在进行一个项目,其中我必须根据位置传感器的值旋转轮胎。传感器提供从261at-90度到395at+90度的值。我使用的是TransformGroup,所以传感器的值几乎为327,轮胎应该笔直竖立 当值为395时,轮胎将完全位于X轴上,与值261的情况类似。我可以移动轮胎,但我无法计算精确的角度。 我的计算方法就像我计算一个特定角度的默认值或零值327之间的值b的数量,比如3。所以我得到了这个角度的数值。然后我把这个数除以角度3度。所以我得到一个值的角度 float tempangle = v

我正在进行一个项目,其中我必须根据位置传感器的值旋转轮胎。传感器提供从261at-90度到395at+90度的值。我使用的是TransformGroup,所以传感器的值几乎为327,轮胎应该笔直竖立

当值为395时,轮胎将完全位于X轴上,与值261的情况类似。我可以移动轮胎,但我无法计算精确的角度。 我的计算方法就像我计算一个特定角度的默认值或零值327之间的值b的数量,比如3。所以我得到了这个角度的数值。然后我把这个数除以角度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
正如您所看到的,角度跳过了一些十进制值。有没有办法和它合作?
谢谢

我不知道我是否理解您的问题,但是一个计算从261到395范围内的输入值到-90到90度之间的角度的方法将如下所示:

private static double SensorValueToAngle(double value)
{
    const double sensorMin = 261;
    const double sensorMax = 395;
    const double angleMin = -90;
    const double angleMax = 90;

    return angleMin + (angleMax - angleMin)
        * (value - sensorMin) / (sensorMax - sensorMin);
}

使用double而不是float。我的意思是一个值是2.2857,第二个值是3.42858,如果我可能在2.2之后得到2.5这样的值,那么它不应该在2.2之后直接跳到3。我的方法无法计算中间值。angleMax-angleMin是否与分子或分母相乘?