Math 角度在两个角度之间吗
我有三个角 a=315 b=20 c=45 好的,我想知道如果b在a和c之间,给出所有三个 我还有很长的路要走,加减法看起来很有效。我只想买一些更小,也许更高效的 谢谢 编辑 这是我想说的一幅图 好的,我有角度L,现在是0,我加45或任何角度,减去45或任何角度,得到我的视角a和b 现在我需要知道绿点是否在a和b之间 g> a | | g>0和&g 因此,在这张图片中,只有顶部的绿点是真的 对不起,如果我没有澄清我的第一语言不是英语假设a>c,您实际上会使用:Math 角度在两个角度之间吗,math,Math,我有三个角 a=315 b=20 c=45 好的,我想知道如果b在a和c之间,给出所有三个 我还有很长的路要走,加减法看起来很有效。我只想买一些更小,也许更高效的 谢谢 编辑 这是我想说的一幅图 好的,我有角度L,现在是0,我加45或任何角度,减去45或任何角度,得到我的视角a和b 现在我需要知道绿点是否在a和b之间 g> a | | g>0和&gc,您实际上会使用: ( b < a ) && ( b > c ) 这与检查值是否介于下限和上限之间相同。它们是角度没有
( b < a ) && ( b > c )
这与检查值是否介于下限和上限之间相同。它们是角度没有什么区别,除非你想考虑到这样一个事实,当你绕一个圆走的时候,405的角度和45的角度是一样的。在这种情况下,您可以使用%360来获得0和360之间的角度。假设a>c,您实际上可以使用:
( b < a ) && ( b > c )
这与检查值是否介于下限和上限之间相同。它们是角度没有什么区别,除非你想考虑到这样一个事实,当你绕一个圆走的时候,405的角度和45的角度是一样的。在这种情况下,您可以使用%360来获得0和360之间的角度。我遇到了类似的问题。我得到了它。所有的计算都以度为单位。 我需要计算一个gps位置在矩形内的id 或者,我需要看看角度x是否在角度检查+r和角度检查-r之间
check-r我也有类似的问题。我得到了它。所有的计算都以度为单位。 我需要计算一个gps位置在矩形内的id 或者,我需要看看角度x是否在角度检查+r和角度检查-r之间 第一关,每个角度都在另外两个角度之间,你真正想问的是: 对于给定的角度:a、b和g,g是否在a和b之间的反射角之外? 您可以继续,将a定义为最左边的角度,将b定义为最右边的角度,或者您可以对此进行求解,例如,如果以下任一语句为真,则a是最左边的角度: A.≤ B∧ b-a≤ π a>b∧ a-b≥ π 为了简单起见,假设你的最左边的角度是l,最右边的角度是r,你试图找出g是否在它们之间 这里的问题是这个问题。我们正在寻找的基本上有3个阳性病例: L≤ G≤ R L≤ G∧ r
a <= g && g <= b ||
a <= g && b < a ||
g <= b && b < a
if(a <= b) {
if(b - a <= PI) {
return a <= g && g <= b;
} else {
return b <= g || g <= a;
}
} else {
if(a - b <= PI) {
return b <= g && g <= a;
} else {
return a <= g || g <= b;
}
}
然而,如果你计算了l和r,你会注意到同时进行这两个过程有一个优化的机会。您的函数将如下所示:
a <= g && g <= b ||
a <= g && b < a ||
g <= b && b < a
if(a <= b) {
if(b - a <= PI) {
return a <= g && g <= b;
} else {
return b <= g || g <= a;
}
} else {
if(a - b <= PI) {
return b <= g && g <= a;
} else {
return a <= g || g <= b;
}
}
或者,如果您需要,您可以扩展到这种噩梦状态:
a <= b ?
(b - a <= PI && a <= g && g <= b) || (b - a > PI && (b <= g || g <= a)) :
(a - b <= PI && b <= g && g <= a) || (a - b > PI && (a <= g || g <= b))
请注意,所有这些数学假设您的输入以弧度为单位,范围为[0:2π]
首先,每个角度都在另外两个角度之间,你真正想问的是:
对于给定的角度:a、b和g,g是否在a和b之间的反射角之外?
您可以继续,将a定义为最左边的角度,将b定义为最右边的角度,或者您可以对此进行求解,例如,如果以下任一语句为真,则a是最左边的角度:
A.≤ B∧ b-a≤ π
a>b∧ a-b≥ π
为了简单起见,假设你的最左边的角度是l,最右边的角度是r,你试图找出g是否在它们之间
这里的问题是这个问题。我们正在寻找的基本上有3个阳性病例:
L≤ G≤ R
L≤ G∧ ra <= g && g <= b ||
a <= g && b < a ||
g <= b && b < a
if(a <= b) {
if(b - a <= PI) {
return a <= g && g <= b;
} else {
return b <= g || g <= a;
}
} else {
if(a - b <= PI) {
return b <= g && g <= a;
} else {
return a <= g || g <= b;
}
}
然而,如果你计算了l和r,你会注意到同时进行这两个过程有一个优化的机会。您的函数将如下所示:
a <= g && g <= b ||
a <= g && b < a ||
g <= b && b < a
if(a <= b) {
if(b - a <= PI) {
return a <= g && g <= b;
} else {
return b <= g || g <= a;
}
} else {
if(a - b <= PI) {
return b <= g && g <= a;
} else {
return a <= g || g <= b;
}
}
或者,如果您需要,您可以扩展到这种噩梦状态:
a <= b ?
(b - a <= PI && a <= g && g <= b) || (b - a > PI && (b <= g || g <= a)) :
(a - b <= PI && b <= g && g <= a) || (a - b > PI && (a <= g || g <= b))
请注意,所有这些数学假设您的输入以弧度为单位,范围为[0:2π]
我个人最近也遇到了同样的问题,并且找到了所有答案的反例,所以我将分享我自己的方法。 设a为开始角,b为结束角,我们检查c是否在它们之间,顺时针方向,这意味着当你从a到b时,你必须通过c。当b大于a时,检查c是否在a到b的范围内的方法会给出误报。例如:
a=80°、b=320°和c=150°:a我个人最近也遇到了同样的问题,并找到了所有已发布答案的反例,因此我将分享我自己的方法。 让a为开始角,b为结束角,我们检查c是否在它们之间,顺时针,这意味着当你从a到b 你必须通过c。当b大于a时,检查c是否在a到b的范围内的方法会给出误报。例如:
a=80°,b=320°,c=150°:a介于两者之间是什么意思?测试是a>b>c还是ab>c还是a