FC2ブログ

# 三角形の面積(2辺と夾角から) Area of a Triangle
# 引数 辺の長さA 辺の長さB 夾角 ラジアン ($LengthA, $LengthB, $InteriorAngle, $IsRadian)
# 戻り値 三角形の面積 (@Triangle)
sub TRIANGLE{
my ($LengthA, $LengthB, $InteriorAngle, $IsRadian) = @_;
my @Triangle = ();
my $ConvertAngle = 0.0174532925199432957692369076849;
my $Pi = atan2(1, 1) * 4;
my $Base = 0;
my $Height = 0;

# 角度からラジアンに変換
if($IsRadian == 0){
$InteriorAngle = $ConvertAngle * $InteriorAngle;
}

# 辺の長さの確認
if(($LengthA <= 0) || ($LengthB <= 0)){
return 0;
}
# ラジアンの確認
if(($InteriorAngle <= 0) || ($Pi <= $InteriorAngle)){
return 0;
}

# 底辺
$Base = $LengthA;
# 高さ
$Height = $LengthB * sin($InteriorAngle);

# 三角形の面積(2辺と夾角から) Area of a Triangle
# [0] 三角形の面積 [1] 周囲の長さ [2] 高さ [3] 重心位置の高さ [4] 断面二次モーメント [5] 断面係数 [6] 断面二次半径
$Triangle[0] = ($LengthA * $LengthB * sin($InteriorAngle)) / 2;
$Triangle[1] = $LengthA + $LengthB + sqrt(($LengthA * $LengthA) + ($LengthB * $LengthB) - (2 * $LengthA * $LengthB * cos($InteriorAngle)));
$Triangle[2] = $LengthB * sin($InteriorAngle);
$Triangle[3] = $Height / 3;
$Triangle[4] = ($Base * ($Height * $Height * $Height)) / 36;
$Triangle[5] = ($Base * ($Height * $Height)) / 24;
$Triangle[6] = $Height / sqrt(18);

return @Triangle;
}


参考URL
三角形の面積(2辺と夾角から) - 高精度計算サイト
三角形 - Wikipedia
初等数学公式集 - Wikibooks
初等数学公式集/平面図形 - Wikibooks
オンライン コンパイラ/インタプリタ
テクニカル分析
プロフィール

Author:雨宮
Firefoxを使用しているので気づかなかったけど、IE6でソースコードを上手くコピーできない

5/3
携帯用ならIE6でもソースコードをコピーできる
携帯用

検索フォーム


あわせて読みたいブログパーツ
一寸先は闇 RSS

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。