|
setup diary |
最近、四次元について考えているが、やはり人間は二次元から三次元の動物で、四次元はなかなか頭で描くことができない。そうなると、数学で考えるしか無い。
Matrixの==の定義を書き換えて、多少値が異なっても、同じものだという判断をするようにしてみたが、同一の判断にはいろいろあるようで、思ったように動くときと、動かないときがある。
たとえば、arrayのinclude?は良いようだが、arrayの==や-やuniqはうまくいかないようだ。この判断には、Matrixの==を使っていないのかな。
arrayの中身の処理は、どのようにしているか分からないので、本当は短く書きたいのだが、include?等を使って、その部分を書き下すことによって処理している。arrayの中で使っている同一の判定を書き換えれば良いはずなのだが。
eql?かと思ったが違うようだ。hashを使っているのかもしれない。
alias eql? ==という定義がされているのだが、Vector classには、
alias eqn? ==という定義がある。eqnは通常equationの略として使うように思われるので、おそらくこれはeqlの打ち間違いではないかと思う。1.8でも1.9でもそうなっていたので、まだあまり気づかれていないのだろう。こういうことはどこに報告すれば良いのか分からないが、ここに書いておくと、誰かが見付けて報告してくれたりしないかな。
なんか、bugレポートがされているようだ。書いてみるもんだ。
Lennyのruby1.8でもまだ変更されていないようだ。bug reportではもうclosedになっているんだけどな。
Matrix[[1.66533453693773e-16, 0.0, -0.5, -0.866025403784439], [0.0, 1.66533453693773e-16, 0.866025403784439, -0.5], [-0.5, -0.866025403784439, 1.66533453693773e-16, 0.0], [0.866025403784439, -0.5, 0.0, 1.66533453693773e-16]]の逆行列を計算すると、変な値になってしまう。matrix.rb中ではどのように逆行列を計算しているのかは読んでいないが、どうも通常良く用いられる余因子を使った計算ではないようだ。自分で書いても良いが、面倒なので、今回は直交行列しか用いないことにして、transposeで代用することにしよう。
\psset{unit=1mm}と宣言して、picture環境の代わりにpspicture環境にして、putの代わりにrputとすれば、picture環境と同じことはほぼできるようである。
\pscircle[linestyle=none,fillstyle=gradient,gradbegin=cyan,gradend=blue](0,60){20}などとしてみたが、半径指定であることが、picture環境のcircleとの違いでしょうか。あと、putするわけではない点も違うか。今後、PSTrickも徐々に使えるように勉強しよう。
\allinethickness{1mm}と指定できるので、便利である。まあ、他のコマンドはだいたい使っているので、問題無い。やはりあとはdrawlineとdottedlineとdashlineの細かい使い方だ。
arecord temp.wavで記録して、
aplay temp.wavで再生しても、非常に小さい音にしか聞こえない。マイクが悪いのかな。まだいろいろと調整が必要なようだ。
あるPCでは、captureのところでもspaceで選択する必要があった。