Java Point2D。距离与毕达哥拉斯定理不同?
我注意到了那个点。距离实际上返回的结果与使用毕达哥拉斯定理手动计算两点之间的距离不同
(565.0575.0)和(25.0185.0)之间的距离在数学上是665.4。使用距离计算此值时,返回值为666.108
对此有什么技术解释吗强>
编辑:各位,我道歉。我自己的计算有一个错误。睡了这么少觉,我在机器里找鬼。很抱歉浪费你的时间
你可以在下面搜索框中键入要查询的问题!
我注意到了那个点。距离实际上返回的结果与使用毕达哥拉斯定理手动计算两点之间的距离不同
(565.0575.0)和(25.0185.0)之间的距离在数学上是665.4。使用距离计算此值时,返回值为666.108
对此有什么技术解释吗强>
编辑:各位,我道歉。我自己的计算有一个错误。睡了这么少觉,我在机器里找鬼。很抱歉浪费你的时间
# 1 楼答案
算出来了。我也得到了
666.108
。我怀疑你在什么地方犯了一个数学错误让我们假设一个三角形
ABC
,这样AC
定义了点之间的距离我们需要另外两方面:
AB
是575-185=390
BC
是565-25 =540
390
的平方是152100
540
的平方是291600
把这些加在一起就得到了
443700
这个的平方根是666.108
# 2 楼答案
Wolfram Alpha和Java不能同时出错
# 3 楼答案
我可以确认正确的距离是666108099
你应该检查你的定理和微积分:p (如有疑问,请相信机器…)
# 4 楼答案
由
Point2D.distance()
返回的值是小数点后三位的正确数学结果此代码说明了计算:
Point2D.distance()
的实现相当容易阅读:# 5 楼答案
我很抱歉地说,但是。距离是正确的。您可能在计算时出错了
V1(x1,y1)=(565.0575.0)
及
V2(x2,y2)=(25.0185.0)
距离是:(abs(x1-x2))^2+(abs(y1-y2))^2的平方根
这个值正好产生66610809335235522675465753614979