LZW 圧縮アルゴリズム

gif を生成するクラスを自作するために、今回は LZW 圧縮アルゴリズムの勉強。 LZW アルゴリズムは辞書式圧縮であり、gif や tiff の圧縮に利用されています。 LZW アルゴリズムの概要 LZW 圧縮アルゴリズムは次の手順で実行されます。  手順0: 文字(数字)列に現れる文字の種類の数だけ、それぞれ辞書に登録しておく。  (文字列が 0~255 の範囲であれば、辞書は 256 ペー…

続きを読む

最小サイズのgif画像とアニメーションgif

anime

Java で gif アニメーションを作りたいと思い、色々と調べる過程で 最小サイズの gif 画像や gif アニメーションを作ってみたので、そのメモ。 以前はJavaのクラスでgifを書き出していましたが、 今回は gif の仕様を調べて、バイナリ出力させています。 LZW 圧縮アルゴリズムのコードを書くのはもう少し時間がかかりそうですが、 ヘッダや大まかな構造は次のページを参考になんとなく理…

続きを読む

自由落下をオイラー法とルンゲクッタ法で解く

freefall1

以前こちらで雑に考察した自由落下。 かれこれ3年以上前ということで感慨深いものがありましたが、 中途半端に終わっているので決着をつけようと思います。   1. 自由落下の運動方程式 2. 解析的手法 3. 解析的手法(跳ね返り) 4. オイラー法 5. オイラー法(跳ね返り) 6. ルンゲクッタ法 7. ルンゲクッタ法(跳ね返り) 8. C言語による実装(跳ね返り無し) 9. Javaに…

続きを読む