2012年4月5日木曜日

スプライン関数に関するメモ

ここではスプライン関数に関するメモを記します。

まず、スプライン関数に興味を持った経緯です。
(ほぼ)任意のパラメトリック曲線を、いた材を曲げることで
実物モデルを構成する。プロジェクトを3ヶ月前くらいに始めました。
これ
このプロジェクトをある研究所でプレゼンをしたところ、
「曲線はなぜスプライン関数でないのか?」
という指摘をいただきました。
自分は無知だったのでスプライン関数の名前はしっていたものの、
その詳細は知りませんでした。

スプライン関数は、あるspline flatという、弾性のある
薄い定規のようなものを任意の点で固定した際にうまれる
自然な曲線です。

数学的には、曲率の二乗の積分値が最小になるような曲線と言えます。
物理的には、歪みエネルギーが最小になるような曲線と言えます。

この2つが同値であることは、証明はしっかり調べていませんが
既に知られていることのようです。

一方私のつくってきたものは曲線を任意の点で固定することで
設計したパラメトリック曲線を実現するというものです。
私はベジェ曲線を使用していたので、曲線を固定する点を設計者が
手動で設定する必要がありました。
しかし、スプライン関数を利用すれば、制御点(B-スプラインで実装する
場合は、固定点(knots))がそのまま、固定すべき点になるという
fabricationモデルと、数理モデルが一致した非常にシンプルなモデルに
書き換えることができます。(最初からしっかりとサーベイすべきでした...)

さらに、これにより問題となっていた実物モデルと数理モデルの誤差
http://web.sfc.keio.ac.jp/~t08189to/picpic
も解決されるように思えます。

今後予定している、3次元空間上での曲線関しては別のモデルを適応する
かもしれません。(写真は試作)


今後の実装の手順
・先ず、ここにあるようなインターフェースを参考にしCAD部分を実装
・fabricationにつなげるための単位、マス目、図面の生成(微積)を実装
参考にするinterfaceはこちら。
http://demonstrations.wolfram.com/BSplineCurveWithKnots/











0 件のコメント:

コメントを投稿

ラベル

フォロワー

ラベル

自己紹介

自分の写真
数学ともの造りに興味があります。 電子工作とかもします。 Key ward : digitalfabrication, cellular automata

ラベル