2015年度版レポート課題

平成 27 年 7 月 2 日
数値解析 2 レポート課題
提出に関する用件
締め切り:8 月 5 日(水)午後 5 時まで
提出方法:2 号館 1 階の菊地の郵便受けに提出,もしくは 2 号館 5 階の研究室で直接手渡し
内容:以下の構成で提出すること
* 表紙(タイトル,学生番号,氏名)
* 本文(ページ番号,プログラムの説明,問題点,考察)
* プログラム
* グラフィック出力
※提出された内容が他のレポートと同一と判断した場合は,両方のレポートとも提出無し
として扱うので,そのつもりで提出すること.
B スプライン曲線(B-spline curve)
B スプライン曲線は代表的なパラメトリック曲線の 1 つであり,n+1 個の制御点列 P0,…,Pn
と m+1 個のノット(節点)行列 x0,…,xm から以下の式で定義される.
n
R  t    Ni ,k  t Pi
i 0
ここで k=m-n であり,k を B スプライン曲線の位数,k-1 を次数という.また Nik  t  は B
スプライン基底関数と呼ばれ次式で表現される.
Ni ,k  t  
 t  xi  Ni ,k 1  t    xi k  t  Ni 1,k 1 t 
xi  k 1  xi
1

Ni ,k  t   

0
xi  k  xi 1
 xi  u  xi 1 
上記以外
また x0,…,xm は単調増加でなくてはならない.またパラメータ区間は  xmn 2 , xL  mn 2  であ
る.ここで L は曲線セグメントのポテンシャル数であり L=2n-m+4 で表される.
B-spline による曲線定義
n+1 個の制御点からなる多角形を制御多角形(control polygon)と呼ぶ.また、m+1 個のノ
ットの列をノット列(knot vector)と呼ぶ.B-spline 曲線は,この制御点の座標に B-spline
基底関数を重みとして掛け合わせることで,特定のパラメータ値 t における曲線上の座標を
定義する.
レポート課題:
1. B-spline 基底関数のグラフ表示
4個の制御点を用いる B-spline 基底関数を作成し,基底関数が,パラメータ値に応じてど
のような値を持つかをグラフ表示せよ.
図は,Lagrange 係数値のパラメータに対する値の変化だが,これと似たような分布となる.
グラフ表示の参考とすること.
1-1
隣り合うノット間の差が一定の場合を一様(uniform)と呼ぶ.このようなノット行列
(例:[0,1,2,3,…])での
1-2 ノットの両端の値が次数だけ重複している
[0, 0, 0, 1, 2, 3, 3, 3] 行列に基づく
2.制御点座標からの曲線の表現
1で作った 2 種類のノット行列を元にして B-spline 基底関数を作成し,制御点と曲線をグ
ラフ表現せよ.
3.ノットの重複による,制御点への重みの変化と曲線の形状の違いについて
考察せよ.
B-spline については,ネット上,あるいは図書館などにも豊富に資料がある.それらを参
考としてもらいたい.
以上