gpt4 book ai didi

math - 如何确定一个数字是否在另一个数字的百分比范围内

转载 作者:行者123 更新时间:2023-12-01 00:06:11 25 4
gpt4 key购买 nike

我正在编写 iPhone 代码,它模糊地识别出一条刷过的线是否是直的。我得到两个端点的方位并将其与 0、90、180 和 270 度进行比较,公差为 10 度正负。现在我用一堆 if 块来做,这看起来非常笨重。

如何写一个函数,给出 轴承 0..360,公差百分比(比如 20% =(-10° 到 +10°))和直线 角度如90度,返回轴承是否在公差范围内?

更新:我,也许,太具体了。我认为确定一个数字是否在另一个数字的百分比范围内的一个很好的通用函数在许多领域都有用。

例如:是数字 swipeLength 10% maxSwipe ?那会很有用。

 BOOL isNumberWithinPercentOfNumber(float firstN, float percent, float secondN) {
// dunno how to calculate
}

BOOL result;

float swipeLength1 = 303;
float swipeLength2 = 310;

float tolerance = 10.0; // from -5% to 5%
float maxSwipe = 320.0;

result = isNumberWithinPercentOfNumber(swipeLength1, tolerance, maxSwipe);
// result = NO

result = isNumberWithinPercentOfNumber(swipeLength2, tolerance, maxSwipe);
// result = YES

你明白我在说什么吗?

最佳答案

int AngularDistance (int angle, int targetAngle) 
{

int diff = 0;
diff = abs(targetAngle - angle)

if (diff > 180) diff = 360 - diff;

return diff;
}

这应该适用于任何两个角度。

关于math - 如何确定一个数字是否在另一个数字的百分比范围内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1320551/

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