LZW 圧縮アルゴリズム Toru Kano 2014年7月27日 2020年3月13日アルゴリズム, 科学 gif, LZW, アルゴリズム, 圧縮 gif を生成するクラスを自作するために、今回は LZW 圧縮アルゴリズムの勉強。 LZW アルゴリズムは辞書式圧縮であり、gif や tiff の圧縮に利用されています。 LZW アルゴリズムの概要 LZW 圧縮アルゴリズムは次の手順で実行されます。 手順0: 文字(数字)列に現れる文字の種類の数だけ、それぞれ辞書に登録しておく。 (文字列が 0~255 の範囲であれば、辞書は 256 ペー… 続きを読む
最小サイズのgif画像とアニメーションgif Toru Kano 2014年7月25日 2020年3月13日アルゴリズム, 科学 gif, アニメーション, アルゴリズム, 画像 Java で gif アニメーションを作りたいと思い、色々と調べる過程で 最小サイズの gif 画像や gif アニメーションを作ってみたので、そのメモ。 以前はJavaのクラスでgifを書き出していましたが、 今回は gif の仕様を調べて、バイナリ出力させています。 LZW 圧縮アルゴリズムのコードを書くのはもう少し時間がかかりそうですが、 ヘッダや大まかな構造は次のページを参考になんとなく理… 続きを読む
機構シミュレータ「Mecha Mania」を公開 Toru Kano 2014年7月20日 2020年3月13日Java, シミュレーション, ソフトウェア開発 HDDを整理していたら、私が初めて制作したソフトウェア「Mecha Mania」が出てきました。 「Mecha Mania」は簡易的な機構のシミュレーションを行う教育用ソフトウェアで、 私が大学3年生の終わり頃から4年生の始めにかけて制作したものです。 このソフトウェアは大学の講義で一部利用されましたが、それからお蔵入りの状態でした。 せっかくなので機構学習の役に少しでも立てばと思い、公開すること… 続きを読む
コインを20000回投げて11000回以上表が出る確率 Toru Kano 2014年7月14日 2020年3月13日Java, 科学 目次コインを2000回投げて1100回以上表が出る確率 p = 0.00000387211 = 0.00038711% p = 0.0000042285 = 0.00042285%コインを20回投げて11回以上表が出る確率 p = 0.32735 = 32.73% p = 0.41190 = 41.19%コインを200回投げて110回以上表が出る確率 p = 0.078649 = 7.864… 続きを読む
PrintWriterでテキストを書き出しても改行がちゃんとされない理由 Toru Kano 2014年6月6日 2020年3月13日Java Java, プログラミング 久々にPrintWriterでテキストファイルの書き出しをしていたら、 PCによって正しく改行されている場合とそうでない場合がありました。 予想外につまづいてしまったので、メモ。 結果から言うと、改行を表すエスケープシーケンス ”\n” は正しく書き出されていたのに対して、それを開くエディタが対応しているかしていないかの差でした。 実際に動かそうとしたのは次のようなコードで… 続きを読む
Java で Math.floor() や Math.round() を使うとやっぱり遅い Toru Kano 2014年4月13日 2020年3月13日Java 以前 Javaとかで高速に小数点以下四捨五入をしたい で同じようなことを書きましたが、最近再び Math.round() を使っていて遅いな~と感じたので、復習を兼ねつつ、もう少し真面目に遅い原因について触れながら考察メモ。 ここでは Math.floor() と Math.round() について見ていきます。Math.floor() は、その数を超えない最大の整数を返すメソッド。Math.ro… 続きを読む