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

# 弓形の面積 Area of a Arch
# 引数 半径 中心角 ラジアン ($Radius, $CentralAngle, $IsRadian)
# 戻り値 弓形の面積 (@Arch)
sub ARCH{
my ($Radius, $CentralAngle, $IsRadian) = @_;
my @Arch = ();
my $ConvertAngle = 0.0174532925199432957692369076849;
my $Pi = atan2(1, 1) * 4;

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

# 半径の確認
if($Radius <= 0){
return 0;
}
# ラジアンの確認
if(($CentralAngle <= 0) || ((2 * $Pi) <= $CentralAngle)){
return 0;
}

# 弓形の面積 Area of a Arch
# [0] 弓形の面積 [1] 円弧の長さ [2] 弦の長さ [3] 重心位置の高さ
$Arch[0] = ($Radius * $Radius * ($CentralAngle - sin($CentralAngle))) / 2;
$Arch[1] = $Radius * $CentralAngle;
$Arch[2] = 2 * $Radius * sin($CentralAngle / 2);
# ただし 0 < $Radius <= ($Pi / 2)
$Arch[3] = ($Arch[2] ** 3) / (12 * $Arch[0]);

return @Arch;
}


参考URL
弓形の面積 - 高精度計算サイト
オンライン コンパイラ/インタプリタ
テクニカル分析
プロフィール

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

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

検索フォーム


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

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