スプライン曲面というのはスプライン曲線を三次元にし
たものだということとスプライン曲線ってなんなのかと
言うことはなんとなくわかるんですが、三次元になると
いまいちその補間の過程がわかりません・・・。
なにかいい文献はありませんか?教えてください。

または簡単にでも説明してくださる方がいてもうれしい
です。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

 専門家ではないので回答をためらっていたのですが、回答が少ないようですので、手元にある参考文献の紹介をいたします。

いずれも曲面生成に関する理論的な説明がなされています。ご参考にどうぞ。

「コンピュータディスプレイによる形状処理工学(1)、(2)」、山口富士夫(日刊工業新聞社).
「コンピュータグラフィクス第2版」、川合慧監訳(日刊工業新聞社).
「CAGDのための曲線・曲面理論」、G.Farin(共立出版).
    • good
    • 0

スプライン曲線については昔いろいろ調べたので知っていますが、


曲面の方には素人です。参考URLのページなんかはいかがでしょう?

参考URL:http://nis-lab.is.s.u-tokyo.ac.jp/~nis/CG/cgtxt/ …
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q二次元スプライン補間のfortranソースプログラム

地形データの処理に、二次元スプライン補間を使いたいのですが、どなたかfortranのフリーのソースプログラム(Subroutine)をご存じないでしょうか。

Aベストアンサー

No.1の回答で十分だと思いますが、google, kodersでもコードサーチが出来ます。
サブルーチン名或いは機能名等でサーチ出来ますし、使用言語、ライセンス形態での絞込みも可能です。

http://www.google.com/codesearch/advanced_code_search?hl=en

http://www.koders.com/

Q3次元曲面補間方法を探しています.

3次元データの補間方法のアルゴリズムを探しています.
不均等にサンプリングした3次元データ(x,y,z)を基に曲面補間を行いたいと思っています.
最初に,zを一定の基で基準データ(x,y)を取得し,データを基に係数を算出します.
システムは係数を用いて実際の取得データ(x,y)からzを補間したします.
現在のシステムは多項式で補間しています
しかし,もっとメモリを食わず,精度のよい補間補法がないか探しています.
一応候補として考えたものはスプライン曲面と細分割による処理です.
これらでは,問題点としてサンプリングした範囲を超えた(x,y)データでは補間ができないというものがあります.また,計算時間がかかるという問題点もあります.
これらに限らず,よい方法はありませんでしょうか.

Aベストアンサー

2変数関数フィッティング(2変数関数最小二乗法)などはだめですか?

スプライン曲面では個々のサンプリング点を必ず通りますが、誤差の大きいサンプリング点が入るとその近辺での補間誤差も大きく出ます。同じ系統に2次元パデ近似補間法が有ります(有限項数の2次元テーラー展開を多項式分数関数近似した補間法。展開範囲で平均的に補間誤差が少ないのが特徴)。

2変数関数フィッティング法は個々のサンプリング点を必ずしも通らず全体として誤差が少なくなるように補間しますので多少の領域外のデータの補間も可能です。フィッティング関数はデータの分布形に合った2変数関数を選ぶ必要があります。フィッテングにより2変数関数の中の係数パラメータが決定されます。(フリーソフトのgnuplotなど)

いずれも、自身のシステムに合わせて多少の作り込みや試行を行なってよりよい補間関数を求める必要があるかと思います。

Q3次スプライン補間法について

x=3,7,4,7,5,8,3,2,3 (秒)
Y=4,7,2,3,12,6,13,5,1,24 (cm)
として、

速さa(cm/秒)はa=Y/xで出てくるのですが(a=1.7,1,0.5・・・)、
それぞれの点を結ぶと折れ線グラフになりますよね?

3次スプラインという補間関数を使うと、
それぞれの点を通過する滑らかな曲線を引けるらしいのですが、
この場合、x秒における速さaを求める計算式はどのようになるのでしょうか?

a=?

ご存知の方いらっしゃいましたらご教授・アドバイスよろしくお願い致します。

Aベストアンサー

ご参考。
http://www.sist.ac.jp/~suganuma/kougi/other_lecture/SE/num/spline/C++/spline.txt

>この場合、x秒における速さaを求める計算式はどのようになるのでしょうか?

前述のような「複雑なプログラムが必要な補間」は、1行の計算式では書けません。

無理に書け、と言うなら

a=f(x)

になります。

QΒスプライン曲線とベジェ曲線について

パソコンの本を読んでいてtruetypeフォントは2次のΒスプライン曲線を使っていますと紹介されて以下の2式で描けますとだけしか書かれていなかったのでよくわかりませんでした。
Βスプライン曲線の
x=(1-t)^2x1+2(1-t)tx2+t^2x3
y=(1-t)^2y1+2(1-t)ty2+t^2y3
0≦t≦1
という式はどのように導き出すのでしょうか?
また
ベジェ曲線についてもどのように導き出すのでしょうか?

Aベストアンサー

こんなことをしたことありませんか?
x軸上の点 P(1-t,0) とy軸上の点 Q(0,t) を結ぶ(t=0.1,0.2,…,1.0)。
すると,曲線が浮かび上がって見えますね。
これは45゜傾いた放物線で,x軸,y軸が接線になっています。
すべてのPQも接線で,接点はPQの t:1-t の内分点になります。

これは,A(x1,y1),B(x2,y2),C(x3,y3)について,次のように一般化されます。
AB,BCの t:1-t の内分点をそれぞれ P,Q とし,それを結ぶと,放物線が浮かび上がります。
放物線と PQ の接点Rは PQ の t:1-t の内分点になります。
特に,AB,CB はそれぞれ A,C における接線になります。

位置ベクトルを計算すると
p=(1-t)a+tb
q=(1-t)b+tc
r=(1-t)p+tq=(1-t)^2a+2t(1-t)b+t^2c

参考URLの「3点を通る放物線」参照

参考URL:http://www.ss.u-tokai.ac.jp/~ooya/Program/Math/

こんなことをしたことありませんか?
x軸上の点 P(1-t,0) とy軸上の点 Q(0,t) を結ぶ(t=0.1,0.2,…,1.0)。
すると,曲線が浮かび上がって見えますね。
これは45゜傾いた放物線で,x軸,y軸が接線になっています。
すべてのPQも接線で,接点はPQの t:1-t の内分点になります。

これは,A(x1,y1),B(x2,y2),C(x3,y3)について,次のように一般化されます。
AB,BCの t:1-t の内分点をそれぞれ P,Q とし,それを結ぶと,放物線が浮かび上がります。
放物線と PQ の接点R...続きを読む

Qスプライン曲面をつくるプログラム

スプライン曲面を描くソースコードが載っている本はないでしょうか。
BASICのような古い言語でもOKです。

Aベストアンサー

Curve and Surface Fitting with Splines という本が良いとか。対応する R package がありますから、source code も、ありです。

参考URL:http://cran.r-project.org/web/packages/DierckxSpline/


人気Q&Aランキング

おすすめ情報