虚三角形区域

问题描述 投票:1回答:3

我正在尝试计算3D空间中三角形的面积,并且正在使用Heron公式。

我得到一个假想的结果,实部为0。

您知道这意味着什么吗?

我正在尝试确定三角形的点是否共线(三角形0的面积)

谢谢

3d geometry area
3个回答
2
投票

[如果三边不形成三角形(不满足三角形不等式),那么赫伦公式将失败。

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

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

要确定A,B,C是否共线,请计算叉积(A-B)x(A-C)。如果其长度小于固定的ε,则这些点在一定公差范围内共线。如果您输入的是整数,则可以测试精确的零。

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


0
投票

这表示您在计算中犯了一个错误。 3D空间中的任何三个非共线点形成一个三角形。将该三角形的边的长度插入Heron公式后,将得出大于0的实际面积。从数学上讲,没有其他结果是不可能的。如果这三个点是共线的,则面积将为0。

[从调试的角度,我想说的是,您应该检查插入Heron公式中的三个长度。如果它们未通过三角不等式,则您计算错误。如果它们通过,则说明您未正确应用Heron公式。


0
投票

Heron公式对于角度很小的三角形实际上是不稳定的This link has the stable alternative to the formula其中a≥b≥c

tx

© www.soinside.com 2019 - 2024. All rights reserved.