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に …

続きを読む