アカウント名:
パスワード:
Z80の最盛期に微妙に間に合わなかった手法として、回転行列を上三角行列と下三角行列の積に分解するやり方があります。
R=UDU (三角行列の非対角成分はu_12=-tan(θ/2), d_21=sinθ)
Wikipediaの記事 [wikipedia.org]によれば1986年に論文で発表されたものらしいので、実際には使われた例は無さそうですが。
これの良い所は係数の精度が悪くてもdet(R)=1が保証される点や、可逆的に逆回転を行える点。動径方向の累積誤差は殆ど無いとみられます。
恐らくsinθ≒1/8, tan(θ/2)≒1/16なんて粗い値を使っても、遠目にはなんちゃって円運動に見えてくれるのではないでしょうか。
このアルゴリズム、かなりの優れモノのようです。私(安岡孝一)の今日の日記 [srad.jp]にちょっとだけ書いてみたので、よければどうぞ。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
開いた括弧は必ず閉じる -- あるプログラマー
回転行列と三角行列 (スコア:1)
Z80の最盛期に微妙に間に合わなかった手法として、
回転行列を上三角行列と下三角行列の積に分解するやり方があります。
R=UDU (三角行列の非対角成分はu_12=-tan(θ/2), d_21=sinθ)
Wikipediaの記事 [wikipedia.org]によれば1986年に論文で発表されたものらしいので、
実際には使われた例は無さそうですが。
これの良い所は係数の精度が悪くてもdet(R)=1が保証される点や、
可逆的に逆回転を行える点。
動径方向の累積誤差は殆ど無いとみられます。
恐らくsinθ≒1/8, tan(θ/2)≒1/16なんて粗い値を使っても、
遠目にはなんちゃって円運動に見えてくれるのではないでしょうか。
Paethの回転アルゴリズム (スコア:2)
このアルゴリズム、かなりの優れモノのようです。私(安岡孝一)の今日の日記 [srad.jp]にちょっとだけ書いてみたので、よければどうぞ。