スプライン同士の結合方法
6 views (last 30 days)
Show older comments
スプライン同士を新たなスプラインをつくって滑らかに接続するにはどのようにしたら良いでしょうか?
接続する点は位置だけでなく、曲率の連続性を持たせた状態にしたいです。
CurveFittingToolboxを使った方法でも良いのでご教授いただければ幸いです。
7 Comments
Shunichi Kusano
on 10 Mar 2020
ダメでしたか。全くもって外部の情報で恐縮ですが、自力で組んでいる方もいるようですね。
実際のデータおよび現状の結果を示していただけると、何かアイデアが湧くかもしれませんし、答えられる方が出てくるかもしれません。
ところでノイズまでトレースしようとするのはなぜなのでしょうか。一般的には低減したいものであるかと思うのですが…。
Answers (1)
Nobuyuki Tanaka
on 9 Mar 2020
5 Comments
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をもつ場合があるので陽的な表現ができなくて苦労されているようですが、陰的な表現にしてみる、次元を拡張してみる、ドロネー三角形分割などをして近傍点を認識などはいかがでしょうか?
菱田
See Also
Categories
Find more on スプラインの後処理 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!