2012-10-24 136 views
1

我想要计算三维空间中三角形的面积,并使用Heron的公式。虚构的三角形区域

我得到一个想象的结果,其中0为实部。

你知道这意味着什么吗?

我试图确定三角形的点是共线

谢谢(三角0的区域)

+0

请告诉我们你有什么('代码') – ja72

+0

相关:http://stackoverflow.com/q/8387199/380384 – ja72

回答

2

如果三方没有形成一个三角形(三角不等式是海伦公式失败不满意)。

请注意,使用浮点数时,不能测试为零,因为由于舍入错误,浮点数几乎不会为零。

的另一种方法来检查共线性:

为了确定A,B,C是共线的,计算出的交叉乘积(A-B)×(A-C)。如果它的长度小于一个固定的ε,那么这些点在一定的容差范围内是共线的。如果你的输入是以整数形式给出的,你可以测试一个确切的零。

如果交叉积返回非零结果,则其长度是三角形面积的两倍。

0

这意味着你在计算中犯了一个错误。 3D空间中的任何三个非共线点形成一个三角形。当插入Heron公式时,该三角形边的长度将产生大于0的实际面积。在数学上,没有其他结果是可能的。如果三点共线,那么面积将为0.

从调试的角度来看,我会说你应该检查你插入Heron公式的三个长度。如果他们失败了三角不平等,那么你错误地计算了它们。如果他们通过,那么你没有正确应用Heron的公式。