Re: 次期Shadeに望むもの ( No.57 ) |
- 日時: 2003/07/26 03:45
- 名前: 平山
- 参照: http://www2u.biglobe.ne.jp/~k_hiray/ps_db/search/
- >これはベクトル自体に三角関数(クォータリオンの場合虚数)が入っているので、a→a'の変換過程で1次式ではなく
>高次の式になるか、サインカーブの合成のような経路をとるのではないかと思っていました‥‥ 私の場合は、クォータニオンを数学的に理解しようというのはすでにあきらめてます(^^;; 虚数っていうのが出てきた時点でダメですね。
ただ、以前ベクトルとそのベクトル軸を中心としたバンク角を決めるベクトルから オイラー角を求めるスクリプトを書いたことがあって、 (書いた時はオイラー角なんて知らなかったけど、今にして思うとオイラー角だったんですね) 2つのベクトルがあれば、姿勢制御できるってことがわかったんですが、 そこから想像して、虚数(2乗してもマイナスになるっていうやつですよね)という概念を導入することによって、 2つのベクトルの成分 3 + 3 = 6個より少ない4個の成分でなんとかできる というものかなとか思ってしまいました。
あ、でもベクトルを軸とした回転角度がわかれば、虚数とか使わなくても良さそうですよね。
なんとか中学校程度の数学でおさめようとするのが、私の悪いくせです 
|
Re: 次期Shadeに望むもの ( No.58 ) |
- 日時: 2003/07/26 11:05
- 名前: つる
- 参照: http://homepage3.nifty.com/STEP/
- 平山さんの例ですが、
実は、これ、最短距離での移動になっています。(おそらく) というのは、たとえば、座標軸を基準にして観察すると、このように大回りしますけど、 座標軸から45度ずれたところを探すと、最短距離で移動する部分がみつかります。 作業領域をShift+spaceでぐるぐるまわすと、簡単に見つかります。
ボールジョイントの場合、ユーザーが個人的に基準のルートを規定してしまうので、そこで、最短距離で移動するかどうかはわからないということですね。
”ひねりを加える”という概念自体無いはずです。ひねりを加えているようで、実は、軌跡を変えているだけにすぎません。
ということは、ハンドボールの豪快なシュートみたいに、手がぐるぐるするシーンのモーションは作りにくいってことですね・・・ 手のひねりは、回転ジョイントでしこんで、後で調整させてあげるのがよさそうですね。
(あっ。。今まで気づかなかったですけど、回転ジョイントの入れ子構造でも、2軸だけの回転なら、、どこかで最短距離回転するのかしら・・・)
|
Re: 次期Shadeに望むもの ( No.59 ) |
- 日時: 2003/07/27 04:23
- 名前: 平山
- 参照: http://www2u.biglobe.ne.jp/~k_hiray/ps_db/search/
- >実は、これ、最短距離での移動になっています。(おそらく)
うーん、どう見ても最短距離にはなっていないような気が・・・ 参考までに実験に使ったファイルをアップしますが、 http://www2u.biglobe.ne.jp/~k_hiray/tmp/kaiten/kaiten_kiseki.zip
最初の位置も回転先もXZ平面内なので、どう考えてもXZ平面内を移動する のが最短コースかと。
>”ひねりを加える”という概念自体無いはずです。ひねりを加えているようで、実は、軌跡を変えているだけにすぎません。 確かにひねりを加えると軌跡が変わってしまうので、 そういうものだと考えていた方が良さそうですね。 最短距離を移動してひねりを加えたい場合は、 つるさんのおっしゃるように、回転ジョイントを追加する必要があるみたいですね。
>(あっ。。今まで気づかなかったですけど、回転ジョイントの入れ子構造でも、2軸だけの回転なら、、どこかで最短距離回転するのかしら・・・) これは3面図内だけでの移動とか、特殊な場合だけでしょうね。 モーションカーブを調整するとその限りではないと思いますが。
ところで、3層回転ジョイントやオイラー角でも最短ルートを通ることが可能かどうかですが、 考えてみれば、どの方式でもあらゆる姿勢をとることが可能だと思われるので、 最短ルートを通るモーションカーブは存在するはずですね。 最悪、1フレームずつキーポイントを作成しなければならないかもしれませんが・・・ そのモーションカーブも何かの規則性があるかもしれませんね。
|
Re: 次期Shadeに望むもの ( No.60 ) |
- 日時: 2003/07/27 09:45
- 名前: 宮田
- >>私の場合は、クォータニオンを数学的に理解しようというのはすでにあきらめてます(^^;;
私もできません(笑) ある定理に従って3次元座標を定義する場合虚数の概念が必要と言うことらしいですね。
>>なんとか中学校程度の数学でおさめようとするのが、私の悪いくせです
この方針は重要なことだと思います。 簡単にできるものであれば、わざわざ難しくする必要はないですよね。 頭の良い人は難しいことを考えられますが、もっと頭の良い人はそれを簡単に判り易くすることができますから。 
>>実は、これ、最短距離での移動になっています。(おそらく) >最初の位置も回転先もXZ平面内なので、どう考えてもXZ平面内を移動する >のが最短コースかと。
これ、3次元での「最短コース」とするとXZ平面を通らなくても良いのではないでしょうか? 球面での最短コースは直線になりませんよね。こういった幾何学では「2点を通る直線は何本も描ける」ことに なりますから、回転ジョイントの場合は状況によって曲率の異なった曲面上を動くと言うことで、ボールジョイント の場合は同一の(曲率を持った)曲面上を動くと言うことだと思うのですが。
|
Re: 次期Shadeに望むもの ( No.61 ) |
- 日時: 2003/07/27 11:07
- 名前: つる
- 参照: http://homepage3.nifty.com/STEP/
- すこし口足らずだったようです。
まず、球面上で最短距離とは、 平面状で、2点の最短距離は、それを結ぶ直線がひとつ定まるのに対して 球面上では、2点を通る円で、半径は、球の半径と同じ、中心は、球の中心と同じ点を通る円(大円といいます) が、ただひとつに定まります。 この大円の中心を通り、円に垂直なベクトルが、回転軸です。 飛行機の航路図を見ると、メルカトル図法では曲がった航路を通りますが、これは、大円を通っているためです。
そして、ボールジョイントが、この最短距離を通る、ということですが、 ボールジョイントの中に、「うに」を入れたと思ってください。 すると、ボールジョイントで回転させたとき、大円を通る針が必ず存在し、つまり、そこでは、最短距離で回転しているということです。 ボールジョイントは、回転の際、絶対的な基準が見えないのでいちいちそのつど、最短距離で回転する部分は解らないですが、ひねりを加えない限り、自分が思ったところで最短距離をさせることができます。
ひねりを加えた場合、”自分の意図した部分とは他の部分で”大円コースを通ります。 この場合、自分の意図した部分は、大円とは違う曲率になると思います。
また、複数のキーポイントを設けてアニメーションした時も、軌跡がねじれますが、 これは、補完法の問題でしょう。
この場合はおそらく、宮田さんのおっしゃるような、同一の曲率をもった曲面上ということになります。 微分の要領で、奇跡を細かくわけていくと、それぞれは全て大円となる。という感じです。 ”自分の意図した部分が”、常に同じ曲率となるはずです。
|
Re: 次期Shadeに望むもの ( No.62 ) |
- 日時: 2003/07/28 02:49
- 名前: 平山
- 参照: http://www2u.biglobe.ne.jp/~k_hiray/ps_db/search/
- >>>なんとか中学校程度の数学でおさめようとするのが、私の悪いくせです
>この方針は重要なことだと思います。
ありがとうございます  それではその方針で行かせていただくとして
>これ、3次元での「最短コース」とするとXZ平面を通らなくても良いのではないでしょうか? これは必ず通るはずです。 ・・・と思ったらYZ平面ですね。XZ平面は通らないでしょう・・・(^^;;
>回転ジョイントの場合は状況によって曲率の異なった曲面上を動くと言うことで、ボールジョイント >の場合は同一の(曲率を持った)曲面上を動くと言うことだと思うのですが。 回転ジョイントでもボールジョイントでも中心からの距離は変わらないというか、 変わらない前提で考えているので、どちらも「球」上と考えていいと思いますが。 ボールジョイントの場合、球表面上の同一の曲率を持った曲線上を動くということも いえないようですね。
>まず、球面上で最短距離とは、 >平面状で、2点の最短距離は、それを結ぶ直線がひとつ定まるのに対して >球面上では、2点を通る円で、半径は、球の半径と同じ、中心は、球の中心と同じ点を通る円(大円といいます) >が、ただひとつに定まります。
これは、球をA点、B点と中心を通る平面でぶった切ると、 その切断面のAB間(もちろん短い方)が最短距離ということですね。
とすると、しつこいようですがやはりボールジョイントは最短距離を通らないということに・・・
>ひねりを加えた場合、”自分の意図した部分とは他の部分で”大円コースを通ります。 >この場合、自分の意図した部分は、大円とは違う曲率になると思います。 この辺がわからないんですが、これは最短ルートを通らず、大回りするということですね。 大円コースということは、同一平面内にあるということだと思いますが、 ひねりを加えた場合、その軌跡は同一平面内には収まらないようです。
|
Re: 次期Shadeに望むもの ( No.63 ) |
- 日時: 2003/07/28 08:00
- 名前: つる
- 参照: http://homepage3.nifty.com/STEP/
- ”ひねりをくわえた”場合、自分が規定したベクトルは、大円コースを通りません。
おっしゃるとおり、最短距離を移動しません。 ただし、あくまで、自分で規定したベクトルなので、ボールジョイントさんは、おおまわりをしている意識はないんです。つまり、ひねりを加えるという概念自体が異なってくると。。。。
ですから、ボールジョイントの回転そのものは、最短距離での回転をしています。 ジョイントの中に「うに」を入れた場合、すべての針が最短距離を通るように回転させることはできないですから。 「うに」さんからしたら、ボールジョイントにひねりを加えることは無意味で、ボールジョイントの中に押し込まれてる以上、回転軸を変えてるだけにすぎないのです。
ということを言いたかったのです。
ということを考えていたら、3層ジョイントも、実は、ジョイントの中に、「うに」なり球なりを想定すれば、常に最短距離での回転をしていたんでしょうか・・・。 と考えたのですが、、、、どうやら違うようですね。。
|
Re: 次期Shadeに望むもの ( No.64 ) |
- 日時: 2003/07/28 13:19
- 名前: つる
- 最短距離で回転なんて、まわりくどい言葉使わずに、
これってつまり、「回転軸がひとつ」ということですね。。 なんでこんなことに気が付かなかったんでしょうか・・・
ボールジョイントと3層ジョイントの決定的な違いは、 ボールジョイントは、常に、ひとつの回転軸で回転する。 それに対して、3層の回転ジョイントは、回転軸を複数持つことができる。
考えてみればあたりまえですね。。
逆に、3層ジョイントの方が自由な回転を実現できるとさえ言えそうな気配です。
たとえば、地球のすりこぎ運動なんかは、回転ジョイントでなければ実現できませんね。
逆にいうと、この、複数の回転軸が、悪さを起こすと、ジンバルロックなり、意図しない動きを起こすと言えそうです。
3層ジョイントは、”複数の回転軸がある物体”をシミュレーションするものであって、 「”自由に回転する物体”ではない」ということを忘れてはならない、、ということでしょうか。。
なんだか、、すごく当たり前の話に還元されてしまった気がしますが。。。。。
(複数の回転軸に関する物理的な、数学的な話がおそらくあると思うのですが、、どうなんでしょう、ただの物理の範疇でしょうか。そのところの話が分からないとらちがあちませんね。。。)
|
Re: 次期Shadeに望むもの ( No.65 ) |
- 日時: 2003/07/28 13:23
- 名前: つる
- あ、、書き忘れましたが、
ボールジョイントでキーポイントを3つ以上つなげて作ったモーションの場合、回転軸は増えるような、増えないような、、、気がします。
回転軸が刻一刻と変化するわけですから。。。。
それでも、微分すると、その一瞬は、ひとつの回転軸で回っているとは思うのですが。。
|
Re: 次期Shadeに望むもの ( No.66 ) |
- 日時: 2003/07/28 19:58
- 名前: 平山
- 参照: http://www2u.biglobe.ne.jp/~k_hiray/ps_db/search/
- >ただし、あくまで、自分で規定したベクトルなので、ボールジョイントさんは、おおまわりをしている意識はないんです。つまり、ひねりを加えるという概念自体が異なってくると。。。。
なにやら禅問答のようになってきましたが・・・(^^;
千鳥足の酔っぱらいがいくら「俺はまっすぐ歩いてんだ!」といっても はたから見るとやっぱり蛇行しているわけで・・・ ということとは違うんでしょうね 
>最短距離で回転なんて、まわりくどい言葉使わずに、 >これってつまり、「回転軸がひとつ」ということですね。。 >なんでこんなことに気が付かなかったんでしょうか・・・ うーん、そう言い換えても同じような気が・・・
>ボールジョイントと3層ジョイントの決定的な違いは、 >ボールジョイントは、常に、ひとつの回転軸で回転する。 >それに対して、3層の回転ジョイントは、回転軸を複数持つことができる。
ボールジョイントは、常に、最短ルートをとるとは限らない。 これを回転軸について言い換えるなら ボールジョイントは、常に、ひとつの回転軸で回転するとは限らない。 ということになると思います。
実際にボールジョイントに形状を入れて適当な位置で キーポイントを打ち、その動きを確認してもらうのが早いと思います。 ついでにいうと、ひねりを加えない場合でも、 最短ルートをとらない(ひとつの回転軸で回転していない)ようです。 ボールジョイントの場合も最短ルートを通るのは特殊な場合だけのようです。
クォータニオンとはそういうものなのか、それとも Shadeのボールジョイントだけの性質なのかはわかりませんが。
>ボールジョイントでキーポイントを3つ以上つなげて作ったモーションの場合、回転軸は増えるような、増えないような、、、気がします。 >回転軸が刻一刻と変化するわけですから。。。。 >それでも、微分すると、その一瞬は、ひとつの回転軸で回っているとは思うのですが。。 微分を持ってこられると、中学校数学としてはつらいところですが(^^; それでいうとどんな回転でも、その一瞬は、ひとつの回転軸で回っているということになりませんか。
>逆に、3層ジョイントの方が自由な回転を実現できるとさえ言えそうな気配です。 >たとえば、地球のすりこぎ運動なんかは、回転ジョイントでなければ実現できませんね。 どういう動きをシミュレートしたいかによって、使い分けする必要があると思います。 ロボットの関節などのように、もともと内包式ジョイント形式になっているものの場合は3層ジョイント、 宇宙船の姿勢制御のように回転軸がない場合はボールジョイントというように。
>3層ジョイントは、”複数の回転軸がある物体”をシミュレーションするものであって、 >「”自由に回転する物体”ではない」ということを忘れてはならない、、ということでしょうか。。 そうですね。 あるいは、自由に回転させることができるけど、場合によってはコントロールがややこしいということでしょうか。
|