「線形補間から球面線形補間へ」へと導く、いい導出法があれば、いいのだがと最近考えている。
線形補間はこれはもちろん昔から知られているが、球面線形補間は1985年にShoemakeが考え出したとインターネットで知った。
線形補間をベクトルに関して行うと、もちろん2つのベクトルの先端を結ぶ直線上にベクトルの先端が来るようなベクトルをはじめに与えられたベクトルから補間で求めることである(注)。
それはベクトルの先端を結ぶ直線の式をベクトルで表示したものと同じである。ということでk_{0}=1-tとk_{1}=tという関数でこの補間の式は特徴づけられる。
線形補間と球面線形補間とは球面線形補間ではベクトルの大きさが一定という条件がついているところがちがう。
直観的にいうと、球面線形補間とは同じ半径の球面上に原点からのベクトルの先端が動いているときに、2つのベクトルを与えてその中間のベクトルを補間して求める方法である。
それで、k_{0}=sin (1-t) theta/ sin theta, k_{1}=sin t theta/ sin thetaと変わる。もちろんtheta または t が小さいときには球面補間関数は線形補間の式に近づく。
私の問題としたいことはつぎのことである。線形補間の式からできるだけもっともらしい議論で球面線形補間式を導き出すことはできないか。
結果を知った後では、上に与えた球面線形補間の式は一義的であるように思えるが、知らないとすれば、それは一義的であったのだろうか。
実は球面線形補間の式の導出を書いたものはないかとこの半月ほどいろいろ調べたのだが、確かにいろいろの導出法があった。
それらはどれも間違いのない、導出法ではあるが、線形補間との関連を考慮されて導出されてはいないように思われる。
一番初めに私が参照したのは金谷一朗さんの『ベクトル・複素数・クォ―タニオン』であったが、この説明が十分に理解できなかった。私なら一つのベクトルに直交するベクトルを求めるのにGram-Schmidtの直交化法を用いる。
それを用いて求めた式が金谷さんの与えている式と同じ形となるとは到底そのとき思えなかった。ただ、金谷さんの直交ベクトルのつくり方はGram-Schmidtで求めたものとよく似ていることには気がついていた。
あとから考えれば、私がGram-Schmidtの直交化法で求めた新しいベクトルをはじめに与えられている2つのベクトルで表しさえすれば、金谷さんの与えた式と一致したはずであった。
球面線形補間の式を求めることはいくつかの方法で理解できたが、いまでもわからないのは線形補間から球面線形補間へともっともらしく求める方法を示すことである。
言い換えるとk_{0}=1-tとk_{1}=tという関数をベクトルの大きさ一定という条件があれば、一義的にk_{0}=sin (1-t) theta/ sin theta, k_{1}=sin t theta/ sin thetaとなるということを示せないか。もちろん t またはthetaが小さいときには両者が一致するという条件がある。
他に可能性はなさそうだが、しかし他には可能性がないと言い切れないと困るのではないかと思っている。
はじめて球面線形補間を考えたShoemakeはこの線形補間との関係をどう考えていたのだろうか。
(注)このときのベクトルは始点を自由に移動できるベクトルではなく、始点が原点に固定されたいわゆる位置ベクトルに対応した始点が固定されたベクトルである。
(2014.4.24付記) 4月21日付で発行した『数学・物理通信』4巻2号に「四元数と球面線形補間」のタイトルで現在私の知りうる限りの知識と理解について述べた。
だが、金谷さんの『ベクトル・複素数・クォ―タニオン』に出てくる球面線形補間の説明はまだ十分に理解ができていない。
いつかこの点については金谷さんご本人に計算の詳細等をお伺いをしたいと考えている。
(2016.5.17付記) 線形補間と球面線形補間の関係を詳しく述べたのは私の「四元数と球面線形補間」の記事であるが、これはすでに『四元数の発見』(海鳴社、2014)に収録してある。
本を購入する経済的余裕のない人はもちろんインターネットで見たらいいが、少し経済的に余裕がある人は上記の著書は自分でいうのははばかられるが、今まで世界中にどこにもなかったような本で、高校程度の数学の計算が達者な人ならば、だれでも読める本であるし、定価も2000円と高くはないのでお買い得な本である。ぜひ購入することをお勧めする。
だれもこの本のことをほめてはくれないのだけれども、それだけ四元数はマイナーな分野なのであろう。将来英訳をして世界で読んでもらえるようにしたいと思いながら、まったく手がついていない。
(2016.12.28付記) このブログ「線形補間から球面線形補間へ」は2年以上前に書いたブログであるが、ときどき参照されるらしい。
球面線形補間について学ぼうとする人が結構多いということでもあろうか。「数学・物理通信」の球面線形補間のエッセイを見るか、『四元数の発見』(海鳴社)を参照してほしい。これくらいわかりやすく書いた記事は他にはないはずである。というのは少なくとも私はそういうモノがあるか知らないからである。
(2022.6.3付記) 金谷一朗さんの示した方法の意味がようやくわかった。今すぐにはこのことを「数学・物理通信」に発表できないが、9月には発表できると思う。
要するにあるベクトルに垂直な大きさ一定のベクトルは金谷流で求めてもGram-Schmidtの直交化法で求めたベクトルと一致することをようやく示すことができた。
すでに金谷さんがこの説明をどこかでされているのかどうかは私は知らない。金谷流の方法でもあるベクトルに垂直な大きさ一定のベクトルは求められるが、手続きが面倒であるから、やはりお勧めはGram-Schmidtの直交化法を用いるのがよいと思う。
(2022.6.10付記) 上に書いた金谷一朗さんの示した方法の解説の原稿をだいぶん書いた。手がき原稿であと1ページを入力すれば、原稿の一応のできあがりである。これは金谷さんの文章から外れての私なりの彼の元の説明の解説であるが、もう少し金谷さんの書かれた文章に沿ったことを付録としてつけておいたほうがいいかもしれないと思っている。
これは私の意図としてはよくわかるようにという意味であって、金谷さんを貶めるとかいう意図はまったくない。だが、そういうことをあからさまに書くとやはり、わるくとられるであろうか。ちょっと考えなくてはならない。
書かれる人の立場にも立たなくてはいけないので。
(2022.11.11付記) 2022.9.9日発行の「数学・物理通信」12巻5号に金谷(かなや)さんの方法での球面線形補間の導出について書いた。
これは私の『四元数の発見』(海鳴社)の本の第10章の球面線形補間の章を補足する記事である。ここには世戸憲治さんからご教示いただいた、まったくわかりやすい球面線形補間の導出にも触れている。
インターネットで「数学・物理通信」を検索して読んでみてください。名古屋大学の谷村先生のサイトにバックナンバーがあります。
このブログの項目は少なくない人の注目をもたれているらしくときどきブログを読む方が来られるので、最新の情報をこの項目でときどき補足をしている。
(2023.4.21付記)
このブログのタイトル「線形補間から球面線形補間へ」とは関係がないが、「球面線形補間」の式の導出をEric Engel (狩野智英訳)『3Dグラフィックス数学』(ポーンデジタル)72-75で読んだ。
わかりやすく書かれているが、p.75の上から1行目に「図3.10(a)に示すように相似三角形をつくれば、・・・」と書かれているが、実は図3.10(a)と(b)とには相似三角形は描かれていない。その後の版で描かれているのかもしれないが、初版9刷までは描かれてはいない。
ここはちゃんと考えを補充して、それぞれの図に補助線を一本ずつ描いて相似三角形を描いて、理解するようにしたい。どういう補助線を引けばよいかはちょっと考えるとわかるであろう。老婆心ながら付け加えておく。