二分木の画像化
二分木画像化レシピ - 日記を書く [・w・] はやみずさんを参考に試してみた。
PostScriptで出力したのをIlllustratorで画像化。
コードは以下のような感じ。
def print( out = $stdout, level = 0, lx = 0.0, rx = 592.0, parent_x = nil, parent_y = nil ) x = ( lx + rx ) / 2 y = 800.0 - level * 50.0 if level > 0 out.puts "#{5.0/level} setlinewidth" out.puts "newpath #{parent_x} #{parent_y} moveto #{x} #{y} lineto stroke" end @left.print( out, level + 1, lx, x, x, y ) if @left @right.print( out, level + 1, x, rx, x, y ) if @right end
赤黒木でもやってみた。データ数10000件ぐらい。
さっきのはランダムな値を10000件追加するのだったけど、今度は昇順に10000件を追加。
すごく……黒いです……
これ、本当に全ての葉から根までの黒ノード数同じなんだろうな? 一応、自分で作ったデバッグ用赤黒木バリデータには通ったけど。
あと、モアレが発生してる><
アニメーションもやってみたいのだけれど...
アニメーションできた。手作業でやったからフレーム数少ない。ImageMagickとか使って自動化したい。
はてなフォトライフではGIFアニメはできないみたい。