【问题标题】:Imaginary triangle Area假想三角形面积
【发布时间】:2012-10-24 12:42:14
【问题描述】:

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

我得到一个虚构的结果,实部为 0。

你知道这是什么意思吗?

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

谢谢

【问题讨论】:

标签: 3d geometry area


【解决方案1】:

如果三个边不形成三角形(不满足三角形不等式),Heron 公式将失败。

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

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

要确定 A、B、C 是否共线,请计算叉积 (A-B)x(A-C)。如果它的长度小于一个固定的 epsilon,那么这些点在一定的公差范围内是共线的。如果您的输入以整数形式给出,您可以测试是否精确为零。

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      这意味着您的计算有误。 3D 空间中任意三个不共线的点组成一个三角形。该三角形边的长度,当代入 Heron 公式时,将产生一个大于 0 的实面积。在数学上,不可能有其他结果。如果三点共线,则面积为0。

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

      【讨论】:

        猜你喜欢
        • 2014-12-06
        • 2021-12-21
        • 1970-01-01
        • 2011-01-09
        • 2015-10-15
        • 2023-03-24
        • 1970-01-01
        • 2014-11-03
        • 1970-01-01
        相关资源
        最近更新 更多