FC2ブログ
最初
http://blog-imgs-36.fc2.com/a/m/a/amamiyaprog/BezierCurve1.txt

修正1 3/13
http://blog-imgs-36.fc2.com/a/m/a/amamiyaprog/BezierCurve3.txt

修正2 4/30

# ベジェ曲線 Bezier Curve
# 引数 次数 値 ($N, \@Price)
# 戻り値 ベジェ曲線 (@BezierCurve)
sub BEZIERCURVE{
my ($N, $Price) = @_;
my @BezierCurve = ();
my @BinomialCoefficient = ();
my $Combination = $N;
my $N_2 = int($N / 2);
my $count = @$Price - ($N + 1);

# 次数と配列数の確認
if(($N <= 1) || ($count < 0)){
return 0;
}

# 二項係数
for(my $i = 0; $i <= $N_2; $i++){
if($i == 0){
$BinomialCoefficient[$i] = $BinomialCoefficient[$N - $i] = 1;
}else {
$Combination = $Combination / $i;
$BinomialCoefficient[$i] = $BinomialCoefficient[$N - $i] = $Combination;
$Combination = $Combination * ($N - $i);
}
}

# 計算
for(my $i = 0; $i <= $N; $i++){
my $t = $i / $N;
my $sum = 0;

for(my $j = 0; $j <= $N; $j++){
my $PowerT = $t ** $j;
my $Power1_T = (1 - $t) ** ($N - $j);

$sum += $BinomialCoefficient[$j] * $PowerT * $Power1_T * $$Price[$j];
}

# ベジェ曲線 Bezier Curve
$BezierCurve[$i] = $sum;
}

return @BezierCurve;
}


結んでみた
http://blog-imgs-36.fc2.com/a/m/a/amamiyaprog/BezierCurve2.txt

参考URL
ベジェ曲線 - Wikipedia
ベジェ曲線
二項定理 - Wikipedia
パスカルの三角形 - Wikipedia

追記
曲線になった感じがするが、何か違う気もする

修正2
二項係数の計算量を少なくした
オンライン コンパイラ/インタプリタ
テクニカル分析
プロフィール

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

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

検索フォーム


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