たこぜりー研究室

大腸菌DNAは4.64Mbp。酵母は13Mbpで、ヒトは3Gbp

スポンサーサイト

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

数値積分

#458
プログラム中で 3 次ベジェ曲線の長さを求める必要が出てきたのでメモ。

これも WPF なら余裕。描画なら XAML で BezierSegment とか。
長さの計算も一応 60 行ぐらい。

数値積分は区分求積法ではつまらんので、シンプソンの公式などを Wikipedia で復習 (というか、ほとんど新規学習) 。

で非積分関数部分だが、3 次ベジェ曲線の関数は簡単に 2 次元ベクトル関数で表せるので、ひたすら double の掛け算をごりごり書く必要はなく、たとえば内積ならば

Vector * Vector

で OK 。Point から Vector は Point - new Point() で。

自分同士の内積、つまりベクトルの大きさの二乗は Vector.LengthSquared でいけます。
やってることは同じだが、ソースコードはすっきり。

参考 : ニュートン・コーツの公式 [Wikipedia]

コメント


コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURL:  http://takojelly.blog2.fc2.com/tb.php/458-c0273cf9
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。