- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在计算经纬度距离时遇到了一个奇怪的问题。如果我将这个查询输入到 mysql 中
SELECT (3959 * acos(cos(radians(30.50492800)) * cos(radians(30.50492800)) * cos(radians(-90.49670600) - radians(-90.496706)) + sin(radians(30.50492800)) * sin(radians(30.50492800))))
结果为空。然而,进入
SELECT (3959 * acos(cos(radians(30.50492800)) * cos(radians(30.50492800)) * cos(radians(-90.49670600) - radians(-90.496706)) + sin(radians(30.50492800)) * sin(radians(30.50492700))))
或
SELECT (3959 * acos(cos(radians(30.50492800)) * cos(radians(30.50492800)) * cos(radians(-90.49670600) - radians(-90.49670)) + sin(radians(30.50492800)) * sin(radians(30.50492800))))
给出结果。
有什么原因会导致这种情况吗?
最佳答案
一点都不奇怪,
3 个表达式中没有一个计算相同的东西。
差异
SELECT (3959 * acos(cos(radians(30.50492800)) * cos(radians(30.50492800)) *
cos(radians(-90.49670600) - radians(-90.496706)) + sin(radians(30.50492800)) *
sin(radians(30.50492800))))
SELECT (3959 * acos(cos(radians(30.50492800)) * cos(radians(30.50492800)) *
cos(radians(-90.49670600) - radians(-90.496706)) + sin(radians(30.50492800)) *
sin(radians(
<强> 30.50492700
))))
SELECT (3959 * acos(cos(radians(30.50492800)) * cos(radians(30.50492800)) * cos(radians(-90.49670600) - radians(
<强> -90.49670
)) + sin(radians(30.50492800)) * sin(radians(30.50492800))))
评估
cos(radians(30.50492800))
等于0.861585503968495
cos(radians(30.50492800))
等于0.861585503968495
cos(radians(-90.49670600) - radians(-90.496706))
等于1sin(radians(30.50492800)) * sin(radians(30.50492800))
等于0.257670419351355
0.861585503968495 * 0.861585503968495 * 1 + 0.257670419351355
这给 1.000000000000000513393952565025
acos(1.000000000000000513393952565025)
返回空值。cos(radians(30.50492800))
等于0.861585503968495
cos(radians(30.50492800))
等于0.861585503968495
cos(radians(-90.49670600) - radians(-90.496706))
等于1sin(radians(30.50492800)) * sin(radians(30.50492700))
等于0.257670411718131
0.861585503968495 * 0.861585503968495 * 1 + 0.257670411718131
等于 0.999999992366776513393952565025
acos(0.999999992366776513393952565025)
= 0.000123557464423953
3959 * 0.000123557464423953
= 0.489164001654431
cos(radians(30.50492800))
等于0.861585503968495
cos(radians(30.50492800))
等于0.861585503968495
cos(radians(-90.49670600) - radians(-90.49670))
等于0.999999999999995
sin(radians(30.50492800)) * sin(radians(30.50492800))
等于0.257670419351355
0.861585503968495 * 0.861585503968495 * 0.999999999999995 + 0.257670419351355
等于 0.999999999999996801746049321797
acos(0.999999999999996801746049321797)
等于 8.16170211889098e-08
3959
我们得到 0.000323121786886894
为什么 acos(1.000000000000000513393952565025) 返回 null ?
来自documentation ,
Returns the arc cosine of X, that is, the value whose cosine is X. Returns NULL if X is not in the range -1 to 1.
如您所见,1.000000000000000513393952565025
高于 1。
对于另外两个不给null的表达式,给定参数给acos
是
它们都在 [-1, 1]
范围内所以我们没有空值。
关于MySQL trig数学计算距离结果为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28991215/
我想在选中复选框时进行设置,然后显示AlertDialog。但有一个问题发生..Eclipse 总是在我的 AlertDialog 下显示一条红线。 new AlertDialog.Builder(s
我知道这是很简单的三角函数,但是我从来没有接触过矢量等,所以我对它的工作原理一头雾水。 给定一个位于 XY 点和 N 方向的物体,您如何沿该方向移动该物体? 此外,给定 XY 点的对象和 XY 点的目
我有一个已知的矩形(灰色)包含图像元素(橙色)的外部父元素。它的溢出是隐藏的。 我想计算允许图像元素(已知宽度和高度)旋转到已知 Angular (例如 30 度)所需的填充。 事实证明,如果我能够允
我正在使用 VS2012 Ultimate 在 C 中进行一些嵌入式开发。我使用平台抽象编译代码并在我的 PC 上模拟它。公司的另一个人使用带有 PPC 抽象层的 CodeWarrior,并在 MPC
我正在寻找计算高度并行化的三角函数(以 1024 为单位),我想至少利用现代架构所具有的一些并行性。 当我编译一个 block 时 for(int i=0; i3 倍的加速)。我敢肯定有人以前遇到过这
我想在标题中传达的是,屏幕上有一个玩家,并且使用方向变量和三角学,他正在“看”一个方向。我需要在他面前生成一个物体。通过生成,我的意思是创建一个 x 和 y 坐标与玩家“前面”的点位置相匹配的对象。
我找不到让 SymPy 将 cos(a)*cos(b) 之类的乘积展开为角和的三角函数之和的方法。 from sympy import * init_printing() wrf,wlo,t = sy
为什么我不必在我的 Perl 程序中使用 use Math::Trig; 来调用 atan2()? 根据 documentation , atan2() 不是“Perl 核心”的一部分。 我有 Per
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题吗? 通过 editing this post 添加细节并澄清问题. 关闭 8 年前。 Improve t
我正在修改一个 arcball 类,使其在每次调用 rollforward() 时旋转 1 度。我很难阅读代码,但我相信我需要编写 XY_to_sphere() 的替代方法,其中;设点 1 = v1,
我是一名优秀的程序员,十分优秀!