{"blog_title":"\u3089\u3093\u3060\u3080\u306a\u8a18\u61b6","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Frandommemory.hatenablog.com%2Fentry%2F2015%2F07%2F19%2F151457\" title=\"ruby\u3068B\u00e9zier\u3068 - \u3089\u3093\u3060\u3080\u306a\u8a18\u61b6\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","description":"ruby\u3067B\u00e9zier\u306e\u8a08\u7b97\u3092\u3057\u3088\u3046\u3068\u601d\u3063\u3066\u3001\u307e\u305a\u306f\u96f0\u56f2\u6c17\u3060\u3051\u66f8\u3044\u305f\u3002(\u4e3b\u306b\u6f14\u7b97\u5b50\u306e\u512a\u5148\u9806\u4f4d\u306b\u3064\u3044\u3066\u3002\u3044\u3061\u3044\u3061\u8abf\u3079\u305f\u304f\u306a\u3044\u304b\u3089\u52d5\u304b\u3057\u3066\u89b3\u5bdf\u3059\u308b\uff01) \u6f14\u7b97\u5b50\u5f0f (Ruby 1.9.3)\u3092\u898b\u3089\u308c\u308b\u306e\u306f\u512a\u79c0\u306a\u3084\u3064\u3060\u3051\uff01\u6392\u4ed6\u7684\u8ad6\u7406\u548c(XOR)\u306e\u305f\u3081\u306b ^ \u304c\u4f7f\u308f\u308c\u3066\u3044\u308b\u304b\u3089\u3001\u51aa\u4e57\u306e\u8a08\u7b97\u306b\u30cf\u30c3\u30c8\u3092\u4f7f\u3048\u306a\u3044\u306e\u304c\u4e0d\u4fbf\u3060\u308e\uff5e\u3002 #! /usr/bin/ruby -Ku class Point attr_reader :x, :y def initialize(x, y) @x = x; @y = y end end class Bezier def initialize(p0, p1, p2, p3) @p0\u2026","type":"rich","published":"2015-07-19 15:14:57","author_name":"derwind","title":"ruby\u3068B\u00e9zier\u3068","height":"190","version":"1.0","categories":["graphics","Ruby"],"width":"100%","url":"https://randommemory.hatenablog.com/entry/2015/07/19/151457","image_url":null,"author_url":"https://blog.hatena.ne.jp/derwind/","blog_url":"https://randommemory.hatenablog.com/","provider_name":"Hatena Blog","provider_url":"https://hatena.blog"}