2012-04-23 66 views
5

三角形のアスペクト比を計算する必要があります。私は3点を持っているので、私は長さと中点を持っています。私はthisチュートリアルを使用しようとしていましたが(私の意見ではあまりありませんが)、それは非常に曖昧で多くの情報を与えません。誰かが、特に長方形の作成部分について詳しく説明したり、この問題を解決するためにC++コードを共有することはできますか?ジェームズ溶液にメッシュ面の三角形のアスペクト比

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

@James:

キュビトは、次のように報告されます

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

は "三角形の縦横比" の定義します。それは可能な最も狭い次元/直径ですか? – Kaz

+0

Aha、一番長い辺の長さを高さまで(もし私たちがその側に三角形を置くならば、そうすることができます)。 – Kaz

+0

私がやることは、より長い辺に短い辺(ベクトルとして)を投影することです。投影されたベクトルと元のベクトルとの間のデルタは、その長さが三角形の高さであるベクトルです。 – Kaz

答えて

8

これらは、定義私が知っている三角形のアスペクト比のns:

三角形のアスペクト比は最長エッジと最短エッジの比率です(したがって、正三角形はアスペクト比1です)。三角形の

アスペクト比が2倍のinradiusに外接円半径の比であるので、a,b,cは、三角形の辺の長さとs = (a+b+c)/2あるAR = abc/(8(s-a)(s-b)(s-c))。したがって、a=b=cの場合、アスペクト比は1です。

これらは、指定したものよりはるかに計算が簡単です。

+0

ありがとうございました。私が正しく思い出してくれば、私が提供した例は間違っていたと簡単に言われましたが、合格したと言われていました。 – Drise

+0

最小の比率は〜0.02、最大値は49です。私の平均は1.1なので、平均はほぼ正しいです(ほとんどの三角形は正方形です)。しかし、少なくとも最小値は1に近く、最大値はあまり高くありませんか?私がちょうど最短辺と最長辺の比率をとると、それぞれ〜1.0001と〜4.5が得られます。 – Drise

+0

@Drise数式を正しく実装してもよろしいですか?アスペクト比は> = 1にする必要があります。最大値は三角形によってかなり高くなる可能性があります。 –

0

円半径の2倍の半径に対する比が正しい定義です。わずかに単純式がある: ARは、B C /((B + C-A)(C +-B)を(A + B-C))=

+0

a:1 b:1 c:1 s:1.5 AR:1 https://ideone.com/tq38Si – Drise

関連する問題