网格表面的三角形的纵横比

时间:2012-04-23 23:33:26

标签: c++ math mesh

我需要计算三角形的纵横比。我有3分,因此我有长度和中点。我试图使用this教程(尽管我认为它不是很多),但它非常模糊,并没有提供太多信息。有人可以详细说明,特别是在矩形创建部分,甚至共享一些c ++代码来解决这个问题吗?

对詹姆斯的解决方案:

double s = (a + b + c) / 2.0;
double AR = (a * b * c) / (8.0 * (s - a) * (s - b) * (s - c));

@詹姆斯:

Cubit报告如下:

Function Name  Average      Std Dev      Minimum     Maximum
-------------  ---------    ---------    ---------   ---------
Aspect Ratio   1.000e+00    7.371e-04    1.000e+00   1.010e+00
--------------------------------------------------------------

您的公式报告以下内容:

Function Name  Average    Minimum    Maximum
-------------  ---------  --------   -------
Aspect Ratio   1.00006    1.000000   1.00972
--------------------------------------------

2 个答案:

答案 0 :(得分:9)

这些是我所知道的三角形宽高比的定义:

三角形的宽高比是最长边与最短边之比(所以等边三角形的长宽比为1)。

三角形的宽高比是圆周与其半径的两倍之比,因此AR = abc/(8(s-a)(s-b)(s-c))其中a,b,c是三角形边长s = (a+b+c)/2。因此,如果a=b=c,则宽高比为1.

这些比你给出的更容易计算。

答案 1 :(得分:0)

圆周与两个半径之比是正确的定义。有一个稍微简单的公式: AR = a b c /((b + c-a)(c + a-b)(a + b-c))