Path: chuka.playstation.co.uk!news1.scei.co.jp!usenet From: Katsuya Higuchi Newsgroups: playstation.ny.program.labo Subject: Re: =?iso-2022-jp?B?GyRCI1AjUz5lJEdJPTwoJDkkayViJUclayQsJCQkUyREJEskSiRrISohKhsoSg==?= Date: Wed, 02 Jul 1997 00:32:52 +0900 Organization: PlayStation Net Yarouze Lines: 30 Message-ID: <33B92324.B77D4CA4@ga2.so-net.or.jp> References: <01bc836d$f1b6e360$4e10dbca@default> NNTP-Posting-Host: 210.132.188.70 Mime-Version: 1.0 Content-Type: text/plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit X-Mailer: Mozilla 4.01 [en] (Win95; I) X-Priority: 3 (Normal) Sugihara Yoshimi wrote: > この問題は、現在の回転行列に、新しく追加する(X、Y、Z)の回転量を行列に > したものを次々と積算してモデルを回転させているのですが、行列内に保持されて > いる数値の精度の関係上、だんだんと回転行列が正確でなくなり、回転行列で変換 > されるモデルがいびつになります。 X, Y, Z軸のベクトルが直交せず、 長さも1でなくなってしまっている状態だと思いますが いわゆる正規化をすれば問題ないと思います。 X軸ベクトル、Y軸ベクトルのベクトル積(外積)を作ると、 X軸とY軸に直交するベクトルが得られます。 これをZ軸のベクトルにして、その長さを得て、その長さでZ軸のベクトルを割り ます。 これでZ軸の単位ベクトルの出来上がり。 さらに、X軸のベクトルの長さを得て、その長さでX軸のベクトルを割ります。 これでX軸の単位ベクトルの出来上がり。 あとは、X軸の単位ベクトルとZ軸の単位ベクトルとのベクトル積を作ります。 これで、Y軸の単位ベクトルの出来上がり。 もっと簡単な方法があるかもしれませんが、 基本はこれでいいと思います。 -- Bugbear 樋口 勝也 bugbear@ga2.so-net.or.jp