スプライン同士の結合方法
Show older comments
スプライン同士を新たなスプラインをつくって滑らかに接続するにはどのようにしたら良いでしょうか?
接続する点は位置だけでなく、曲率の連続性を持たせた状態にしたいです。
CurveFittingToolboxを使った方法でも良いのでご教授いただければ幸いです。
7 Comments
Hiroyuki Hishida
on 9 Mar 2020
Nobuyuki Tanaka
on 9 Mar 2020
Hiroyuki Hishida
on 9 Mar 2020
こんにちは。
関数一発でできる問題ではないようにみえますが、そうでもないかもしれませんので、もう少し情報をください。
「ある点群において全てを1回のスプライン補完」とのことですが、理論的には1回のスプライン補完でうまくトレースできるものでしょうか?
「うまくトレースできなかった」とのことですが、うまくできたできなかったの判断指標はどうされていますか?
「点群をいくつかに分割して要素要素でスプライン補完」とのことですが、元の点はいずれかの要素に必ず1回のみ含まれるということでしょうか?仮にそうだとして、補完するときにこの規則は変更可能でしょうか?
菱田
Shunichi Kusano
on 10 Mar 2020
Edited: Shunichi Kusano
on 10 Mar 2020
もしデータが時系列に並んでいるかつサンプリングレートが一定であれば、x,yそれぞれ独立にスプラインかける、ではダメでしょうか。interp1関数を使います。
Nobuyuki Tanaka
on 10 Mar 2020
Shunichi Kusano
on 10 Mar 2020
ダメでしたか。全くもって外部の情報で恐縮ですが、自力で組んでいる方もいるようですね。
実際のデータおよび現状の結果を示していただけると、何かアイデアが湧くかもしれませんし、答えられる方が出てくるかもしれません。
ところでノイズまでトレースしようとするのはなぜなのでしょうか。一般的には低減したいものであるかと思うのですが…。
Nobuyuki Tanaka
on 10 Mar 2020
Answers (1)
Nobuyuki Tanaka
on 9 Mar 2020
0 votes
5 Comments
Hiroyuki Hishida
on 10 Mar 2020
勘違いしてたのかもしれません。「あるXに対してYが一つに定まらない場合」ということは、点群は2次元ですか?であれば、点間を3次スプライン関数などでつなぐならAx=bを解く問題になるのですが、いかがでしょうか?
点群を要素に分割されるときに、何に着目して分割されているかも併せて回答いただけると幸いです。
※「ある一定値以上の誤差」とのことですが、その閾値が実現不可能なものではない保証はどこかでとってください。例えば別手法では達成できている、などでも良いです。
菱田
Nobuyuki Tanaka
on 10 Mar 2020
Nobuyuki Tanaka
on 10 Mar 2020
Hiroyuki Hishida
on 11 Mar 2020
Edited: Hiroyuki Hishida
on 11 Mar 2020
間があいて申し訳ございません。以下の理解であってますか?
- 時間を無視すれば2次元点群があり、これをN個の要素点群に分割する
- 要素点群にはBスプライン?で近似曲線を求めている
- 点群と近似曲線の距離が所与の閾値を超えた場合は、要素点群における端点以外も通るように補完している(=その点で要素点群を2分割して、全部でN+1個の点群要素を作成し、Bスプラインを適用しなおす)
- そしたら、要素点群同士の接続が曲率不連続になったので、なんとかしたい
なお、私には以下がわかっていません。
- 何を計測しているのか
- 何に着目して点群を要素点群に分割しているのか
- 近似曲線と点群の乖離が大きくなるのはどういう性質がある点か
- 要素点群同士の接続部分において曲率不連続になっている場所とそうでない部分の違いは何か
上記の下でですが、隣り合う点間に対して三次スプラインで繋いでいく方法であれば、素直な計測データであれば曲率連続も保てる?とか思いますが、それではダメだとして、2つほどアドバイスがあります。
[データ計測方法の見直し]
ノイズが問題でFitting失敗しているのであるならば、まずは、計測方法の見直しになります。どんなに良いアルゴリズムであっても、前提から外れるデータには適用できませんし、ノイズが多いデータだとノイジーな結果にしかなりません。
[簡単な例題での理論確認]
Tanaka様手法の理論的妥当性を検証されるのが先かと思いますが、この点いかがでしょうか?直線、単一のコーナーRをもつ線分、単一のピン角をもつ線分などの計測データに対して適用してみることで、手法の良し悪しが明らかになると思います。
※同じXに対して異なるYをもつ場合があるので陽的な表現ができなくて苦労されているようですが、陰的な表現にしてみる、次元を拡張してみる、ドロネー三角形分割などをして近傍点を認識などはいかがでしょうか?
菱田
Nobuyuki Tanaka
on 13 Mar 2020
Categories
Find more on Curve Fitting Toolbox 入門 in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!