双三次クーンズ曲面ってなに?

  • はじめに

 本記事は、最近CGに興味を持ち始めたにわかの筆者がなんとなく気になってる双三次クーンズ曲面についてまとめようと試みたものとなっております。ネットに転がってる記事を読んだり、定義を少し調べてみたりしただけのふわふわな内容のため、閲覧者様の双三次クーンズ曲面についての理解が深まるとか、曲線への興味を一層高めるとか、人生についての有用なヒントを与える等の効果は一切想定されておりません。それでも差し支えなければ、どうかご覧になってください。

 また、本記事について誤った内容や矛盾した論理など、皆様に誤解を招くような記述があればコメント等でお教え頂ければ幸いです。

 

 双三次クーンズ曲面をお話しする前に、パラメトリック曲面についてお話します。双三次クーンズ曲面はこのパラメトリック曲面の一種であります。

 パラメトリック曲面とは、その名の通りパラメータを用いて各々の点座標を定義された曲面であります。パラメータは2つ(u,v)として、曲面上の点座標Sはu,vに関する関数F(u,v)で表されます。このとき、関数Fが、uに関してn次の式で表され、vに関してm次の式で表される場合、この曲面をn✕m次曲面と呼びます。特にn=mの場合、双n次曲面とも呼ばれます。(具体的な例は双三次クーンズ曲面で数式として表しますので、なんのこっちゃ分からん方もそのまま次にお進みください。)

 

  • 双三次クーンズ曲面の定義

 さてそれでは、双三次クーンズ曲面の定義を調べましょう。手元にある資料の定義を簡素に説明すると、以下のような定義です。

 『双三次クーンズ曲面は、4点の座標(位置ベクトル)とその点に関する2つの接ベクトルと、1つのねじれベクトル(ツイストベクトルとも)から定義される双三次の多項式曲面である。』

 具体的には、図に示すように、1つの位置ベクトル(S)、2つのパラメータ方向の接ベクトル(Su,Sv)、1つのねじれベクトル(Suv)が4隅にある合計16個のベクトルによって定義され、これらのベクトルを補間する曲面のことをいいます。

f:id:dokoto:20171217115215p:plain

 パラメータは0から1の間で動きますので、図の各ベクトルは4隅{(0,0),(0,1),(1,0),(1,1)}でのベクトルです。

  さて、これらのベクトルを補間する計算式ですが、この式に双三次クーンズ曲面の"双三次"たる所以があらわれます。

 

  • 定義式

  計算式は以下のようになっております。

f:id:dokoto:20171217141246p:plain

ただし、Hで表される関数は、以下の式で示される3次エルミート関数である。

f:id:dokoto:20171217142410p:plain

  この3次エルミート関数をみれば、パラメータtに対して3次の多項式であることが分かります。これを定義式ではパラメータu,vに対しての関数として使っているため、この関数で表される曲面は3✕3次曲面、すなわち双三次曲面と言うわけです。

 

 すなわち双三次クーンズ曲面とは、パラメータu,vについて双三次であり、4隅のベクトル4組、計16個のベクトルについて補間して出来るパラメトリック曲面なのであります。

 

  • で、結局何?

 ここまでで双三次クーンズ曲面についてのお話は終わりです。どんな人が考えたとか他の曲面との関係なんかは他のサイトにいろいろ載ってたのでそちらを参照して頂ければと思います。

www.wizforest.com

(こちらのサイトはとても参考なりました。)

 

 「で、結局この記事の目的はなんなの?」と問われると答えは「目的はないです。」としか言えません(ここまで読んで頂いて申し訳ないですが)。冒頭に記述したとおり、ただなんとなく双三次クーンズ曲面という名前が気になっていて、なんとなく調べてなんとなく記事にしてみたものです。ただ、この記事を読んでいただき、なんとなくそうゆう曲面があることを理解して頂いた上で、もっと詳しく調べてみたり、今度は他の曲面についても調べてみようと思っていただければ、なんとなく嬉しいです。

 最後まで読んで頂きありがとうございます。では。