【SVG & SVGZ】石碑に刻みたい感じ【仕様】

懐かしいアイデアの実現.
kokuren_like


歴史ある構想,遂に具現!

この図形,実は俺が小学生の時からあったアイデア.長い時を経て,今また改めて出力される日を迎えました.何度も何度も紙に描いたことならあるけど,こうしてパソコンを使って綺麗に整えられて出力されたことは今までにはなかったから,凄く感慨深いものがあります!
もうちょっと詳しく言えば,中央の丸の箇所のアイデアはなかなかまとまらなくて,小学生以来色々なアイデアを試しては却下したりしてた.でも最近はアイデアの引き出しが多いから,すっと腑に落ちるアイデアが浮かんできてね.中央のρみたいな箇所は,小学生の時にはなかったアイデアです.今回これを制作するに当たって新しく取り入れたアイデア.でもこれで完成形かな!この図形のアイデアが完成するのに10年以上かかったということになる.すごい!だから俺としてはとても感慨深いものなのです.

毎度お馴染み,「最小限主義」です

これを作成するのに気をつけたのは,「最小限であること」.というかこの作品に限らず,ほとんど常に「最小限であるべし」ってことを考えてるだけどね.この図形,ぱっと見てすぐ分かるものじゃないけど,数えてみると頂点が67個あります.円は上下左右に制御点があるから,それも含めて67点ね.この図形はInkscapeで作成されたもので,保存形式はSVG.Inkscapeで保存するとInkscape特有のマークアップが追加されててファイルサイズが若干膨らむ.素のSVGのファイルサイズを目指して,テキストエディタで余計なタグを外して,最少にしてみた.
nodes定
67頂点で,画像サイズも最少な状態にして,そしたら2.5KBになりました.より細かく言うと2,465 bytes.Inkscapeで保存したファイルをMethod Drawというオンラインサービスに通すと余計なタグが外れてファイルサイズが小さくなるよ.これ豆知識(笑).この状態の(素の)SVGをSublime Textで開いてみてみたら,2,465バイトで2,466文字でした.うん,完全に1文字当たり1byteであることが明らか.
これをSVGZに圧縮すると,より小さくなることが予想されるね.やってみたところ効果覿面!1KBも圧縮できて,1.5KBになりました!より細かく言うと1,482 bytes.で,これをテキストエディタで開いてみてびっくり.文字数はさっきより多くて2,965文字!なるほどねぇ,1文字当たり半バイト,つまり4bitなんだね.文字コードが変わったということなのかな?

ASCIIと16進数表記.技術の仕様!

ASCIIは8bit文字だから,ZIPの中ではより少ない文字種しか使用してないんだねぇ.SVGはXMLだからマークアップのための記号が欠かせない.だから複数種の文字/記号が必要なのは分かる.だから8bitのASCIIで書いてある.一方で,ZIPされたSVGZはより少ない文字で全てを記述できるので,使用される文字種はグッと減って4bit分しか無くても問題がないんだね.4bitって16種しかない,0-9とa-fの16文字しかない.確かに該当のSVGZをSublime textで開いてみると16進数で書いてある.ふうん,面白いなぁ.
という訳で,予期せずSVGとSVGZの仕様について知ってしまったのでした.テクノロジーがどのようにして動作しているのかを知ることは面白いね.と言っても,これくらいでSVGとSVGZの1割もわかっていないと思うけど笑.でも「教わるんじゃなく,自力で探索して知った」という体験は面白い,刺激的なもの!よかった!
最後にさっきの絵のバリエーションを掲載して終わることにしましょう.この絵のモチーフが何なのか,それを明かすことはしません!想像してみてね!(もちろん正解を発表しませんけど)ヒントとすれば,「小学生が思い付くもの」ということかなぁ.笑
omega

コメントを残す

%d人のブロガーが「いいね」をつけました。