【发布时间】:2015-02-15 19:45:55
【问题描述】:
我以浮点值计算了用户左右手之间的距离。 如果手靠近 => 距离大约为 0.00xxxx 如果双手分开 => 距离变大约 2.0000
由于这些值是浮动的,并且它们不断变化,因此 IF 条件是不充分的。
我如何以编程方式检查一个值是否可以说 x 是从 X=0.0 到 X=0.5 或从减少 x=0.5 到 x=0
所以如果它增加则执行动作 X,或者如果它减少则执行动作 Z。 .我已经使用以下逻辑进行了缩小但不是很流畅。
if (distance < 1 && distance > 0.65 && leftHandFront && rightHandFront)
{
mouse_event(MOUSEEVENTF_WHEEL, 0, 0, -120, 0);
}
【问题讨论】:
-
你的问题不是很清楚。
if适用于浮点数,只要您测试大于或小于。 -
我已经使用 IF 进行了测试,但是距离值在增加(手分开)和减少(手靠近)之间重叠。因此,放大效果很好,但与缩小手势同时效果不佳。
-
我认为你需要记录之前的距离,并与当前的距离进行比较。
-
@Galik 您能否展示一个基于代码的示例,说明如何跟踪距离变量的先前值?我的意思是当前值在不断变化,如果用户在移动手时检查这些当前值,但之前的距离到底是什么意思?
标签: c# c++ windows floating-point integer