FC2ブログ

# 一部が欠けた球の体積 Volume of a Partial Sphere
# 引数 半径 高さ ($Radius, $Height)
# 戻り値 一部が欠けた球の体積 (@PartialSphere)
sub PARTIALSPHERE{
my ($Radius, $Height) = @_;
my @PartialSphere = ();
my $BottomRadius = 0;
my $Pi = atan2(1, 1) * 4;

# 半径 高さの確認
if(($Radius <= 0) || ($Height <= 0)){
return 0;
}

# 底面円の半径
$BottomRadius = sqrt($Height * ((2 * $Radius) - $Height));

# 一部が欠けた球の体積 Volume of a Partial Sphere
# [0] 一部が欠けた球の体積 [1] 一部が欠けた球の表面積 [2] 一部が欠けた球の底面積 [3] 底面積の半径 [4] 重心位置の高さ
$PartialSphere[0] = ($Pi * $Height * ((3 * $BottomRadius * $BottomRadius) + ($Height * $Height))) / 6;
$PartialSphere[1] = $Pi * (($BottomRadius * $BottomRadius) + ($Height * $Height));
$PartialSphere[2] = $Pi * ($BottomRadius * $BottomRadius);
$PartialSphere[3] = $BottomRadius;
$PartialSphere[4] = (3 * (((2 * $Radius) - $Height) * ((2 * $Radius) - $Height))) / (4 * ((3 * $Radius) - $Height));

return @PartialSphere;
}


参考URL
一部が欠けた球の体積 - 高精度計算サイト
立体の体積、表面積または側面積および重心位置 : 球欠 - P12 -
オンライン コンパイラ/インタプリタ
テクニカル分析
プロフィール

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

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

検索フォーム


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