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

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

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が見つからない時は、教えて!gooで質問しましょう!

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

Q高校数学におけるパラメータやパラメータ表示とは

画像の文章の下から数えて3番目からの内容の理解はできましたが、なんだか理解が浅いような気がします。

そこで、高校数学におけるパラメータやパラメータ表示の意味などをより詳しく分かりやすく教えてください。

回答お願いします。

Aベストアンサー

おはようございます。

#1さんが書かれているように、パラメータのことを媒介変数と呼んだりします。
媒介には仲立ちするといった意味があります。

x座標、y座標の間をとりもつ変数が媒介変数です。
質問に書かれている内容であれば、媒介変数:mによって双方の値が決定される。
つまり、仲介されていることになります。

x=mと書かれていると、あまり有り難みがないですが、
x=3t^2+ 1, y=2t^3- 3

のように表すことも当然あります。

一番ベタな例は、円周上の点を表すときだと思います。
そのときの媒介変数は「角度」になります。
「60度の位置」「200度の位置」というように、半径が決まっていれば
角度でその点の位置を表すことができます。

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

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

Aベストアンサー

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

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

http://www.koders.com/

Q双曲線関数を用いない双曲線のパラメータ表示

双曲線関数を用いない双曲線のパラメータ表示の方法はありますか?
まったく思いつかないので質問いたしました。よろしくお願いします。

Aベストアンサー

(つづき)
e^tもいやなら、

e^t=tとおけば
e^(-t)=1/t
だから、
x=a(t+1/t))/2
y=b(t-1/t)/2
や、
x=a(t^2+1))/2t
y=b(t^2-1)/2t
も双曲線をあらわす。
tをまた別の関数においても双曲線やその1部を
あらわす。

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

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

Aベストアンサー

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

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

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

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

Qaccess2002でのパラメータ表示

こんにちは、初めて質問します。
OS:WinXPsp2
ソフト:access2002

accessの初心者なのですが、質問があります。
テーブルを一つ作り、そこから選択クエリを一つ作りました。
その中で「住所」フィールドと「水道局」フィールドという項目があり、
「住所」フィールドは”あいまい検索”にしてパラメータ表示から検索するようにし、
「住所」を入力すると「水道局」の答えが返ってきます。

例えば、クエリを実行するとすぐに「住所」のパラメータ画面が表示されますが、
その中に”江戸川区一之江”と入力すると、データシートビュー画面の
「水道局」フィールドに一之江水道局”と答えが返ってきます。

ここから本題なのですが、フォームで「水道局」というテキストボックスと
「水道局検索」というコマンドボタンを設置し、マクロで先ほど作ったクエリを実行させて、
パラメータ画面内に”江戸川区一之江”と入力すると
同じフォーム内の「水道局」のテキストボックス内に”一之江水道局”と表示させたいのですが、
どうしてもクエリのデータシートビュー画面が開きその中で答えが返ってきてしまいます。
「水道局」のテキストボックスの中に答えが入るにはどういうマクロを使えばいいのでしょうか?

なんとかクエリ自体をフォームのフィールドリストにして、
「水道局」のテキストボックスを作りましたが、毎回フォームを開くと
パラメータ表示画面が出てきます。
その最初に出てくるパラメータ表示画面を出なくさせるにはどうすれば
よいのでしょうか?

誰かお知恵をおかしください。

こんにちは、初めて質問します。
OS:WinXPsp2
ソフト:access2002

accessの初心者なのですが、質問があります。
テーブルを一つ作り、そこから選択クエリを一つ作りました。
その中で「住所」フィールドと「水道局」フィールドという項目があり、
「住所」フィールドは”あいまい検索”にしてパラメータ表示から検索するようにし、
「住所」を入力すると「水道局」の答えが返ってきます。

例えば、クエリを実行するとすぐに「住所」のパラメータ画面が表示されますが、
その中に”江戸川区一之江”と入...続きを読む

Aベストアンサー

簡単な方法
(1)テーブルを基にして、ウィザードで表形式のフォームを作る。
 その後、体裁を修正して、好みの色、形にします。
 便宜上、フォーム名を XX とします。
(2)検索用コントロールを設ける。
 フォームヘッダ(最初は見出しラベルのみ)を広げて、検索用の
 テキストボックスと、ボタンを置きます。このテキストボックスは
 非連結(コントロールソースが空欄)にします。便宜上、この
 テキストボックスのコントロール名を YY とします。
(3)フォームのレコードソース(最初はテーブル名)を変更する。
 SELECT * FROM テーブル WHERE 住所 Like [Forms]![XX]![YY] & "*"
(4)検索ボタンのイベントプロシージャを記述する。
 検索ボタンのクリック時でイベントプロシージャを作ります。
 フォーカスを当てると、右に…のボタンが出るので、クリックします。
 ここでやる命令は以下のように1個だけです。
 Me.Requery

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陰関数のパラメータ表示について

(y-x^2)^2=y^3*x のパラメータ表示はx=t^2/(1+t^3), y=t^4/(1+t^3) となるとのことですが、何か定式化された求め方があるのでしょうか?

Aベストアンサー

(y-x^2)^2 = y^3*x の両辺を x^4 で割り、
{ y/(x^2) - 1 }^2 = (y/x)^3
となる。
これは f^2 = g^3 の形なので、左辺の中括弧内を t^3、右辺の括弧内を t^2 と置け、
y/(x^2) - 1 = t^3 ・・・(1)
y/x = t^2 ・・・(2)
である。
(2)より y = x * t^2 なので、これを(1)に代入し x について解けば、x = t^2/(1+t^3) が導かれ、よって y = t^4/(1+t^3) も分かる。

なお、多分御存知だろうがパラメータ表示の求め方には一般的な方法がない。
この解き方も、「定式化された」というよりは「経験と勘により導かれた」というものの方が大きいような気がする。
とりあえず今回の教訓としては、「f^a = g^b のような比較しやすい形に変形できないか試みる」ということを覚えておきたい。

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双曲線のパラメータ表示

x^2-y^2=1 で表される双曲線のパラメータ表示は
x=1/cosθ,y=tanθ とかけるようですが,
このθは図形的にどの角度を表しているのでしょうか?

Aベストアンサー

x^2/a^2-y^2/b^2=1 で表される双曲線は
x=a/cosθ,y=btanθ とかけます。
原点Oを中心として双曲線の尖りに接する円を考えます。双曲線の任意の位置P(x,y)からのX軸への垂線の交点をAとする。Aから前記の円に接する線との交点をBとする(PとBは同じ象限におく)。

すると∠AOBがθです。
OB=a, OA=xだからx=a/cosθ、これを双曲線の式に入れて符号を考慮すればy=btanθが得られる。

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ランキング