Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/142.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 网格曲面三角形的纵横比_C++_Math_Mesh - Fatal编程技术网

C++ 网格曲面三角形的纵横比

C++ 网格曲面三角形的纵横比,c++,math,mesh,C++,Math,Mesh,我需要计算三角形的纵横比。我有3个点,因此我有长度和中点。我试图使用教程(虽然在我看来它不是很多),但它是非常模糊的,并没有提供太多的信息。有人可以详细阐述,特别是矩形创建部分,或者共享一点C++代码来解决这个问题? 对于詹姆斯的解决方案: double s = (a + b + c) / 2.0; double AR = (a * b * c) / (8.0 * (s - a) * (s - b) * (s - c)); @詹姆斯: Cubit报告如下: Function Name Ave

我需要计算三角形的纵横比。我有3个点,因此我有长度和中点。我试图使用教程(虽然在我看来它不是很多),但它是非常模糊的,并没有提供太多的信息。有人可以详细阐述,特别是矩形创建部分,或者共享一点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
--------------------------------------------
您的公式报告了以下内容:

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
--------------------------------------------

以下是我知道的三角形纵横比的定义:

三角形的纵横比是最长边与最短边的比值(因此等边三角形的纵横比为1)

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


这些比你给出的要容易得多。

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

定义“三角形的纵横比”。这是最窄的尺寸/直径到最长的吗?啊哈,最长边的长度,到高度(如果我们把三角形放在那一边,可以这么说)。我要做的是把一条较短的边(作为向量)投影到较长的边上。投影向量和原始向量之间的增量是一个向量,其长度是三角形的高度。@Kaz这与网格曲面有关,只是为了澄清。找到最大纵横比的用处是确定网格的质量,以用于计算电磁解算器。比率越接近于1,网格与其所代表的几何体积之间的关系就越好、越精确。谢谢,如果我没记错的话,有人向我简要地提到,我提供的示例不正确,但有人顺便说,这是谷歌返回的唯一有用/有意义的东西。我得到的最小比率为~.02,最大比率为49。我的平均值是1.1,所以平均值大致正确(大多数三角形是等边的)。但最小值不应该接近1,最大值不应该太高吗?如果我只取最短边和最长边的比率,我分别得到~1.0001和~4.5。@Drise你确定你正确地实现了公式吗?纵横比应大于等于1。根据三角形的不同,最大值可能相当高。检查我上面的实现。我已经添加了Cubit的精确报告,一个建模和网格程序,以及您的公式生成的内容。