{"blog_title":"Camera Obscura","blog_url":"https://obelisk.hatenablog.com/","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fobelisk.hatenablog.com%2Fentry%2F2016%2F10%2F11%2F015939\" title=\"cairo \u3068 Ruby \u3067\u904a\u3093\u3067\u307f\u308b\uff082\uff09 - Camera Obscura\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","categories":["Ruby"],"height":"190","description":"\u6c34\u5e73\u6295\u5c04\u3067\u3059\u3002 require 'bundler/setup' require 'cairo' require './gifanime' include Math W = 600; H = 300 V0 = 10.0; A = 0.75; G = 5.0 v = lambda {|n| - A ** n * sqrt(2 * G * H)} t = lambda do |n| if n.zero? sqrt(2 * H / G) else ar = [1] n.times {|i| ar << 2 * A ** (i + 1)} sqrt(2 * H / G) * ar.inject(:+) \u2026","url":"https://obelisk.hatenablog.com/entry/2016/10/11/015939","author_name":"obelisk2","provider_name":"Hatena Blog","image_url":"https://cdn-ak.f.st-hatena.com/images/fotolife/o/obelisk2/20161011/20161011015401.gif","width":"100%","type":"rich","title":"cairo \u3068 Ruby \u3067\u904a\u3093\u3067\u307f\u308b\uff082\uff09","provider_url":"https://hatena.blog","author_url":"https://blog.hatena.ne.jp/obelisk2/","published":"2016-10-11 01:59:39","version":"1.0"}