Nature of Codeのスマートロケット(障害物あり)

今回は障害物あり版です。 ※ はてなブログは500エラーでこのGIFがアップロードできなかったのでGitHubから… 最後の方にはゴールにたどり着けているやつもいますね。 ソースはこちらです。 https://github.com/tnantoka/ruby.tnantoka.com/tree/master/noc/sm…

Nature of Codeの簡易版スマートロケット

をRuby(MagickCanvas)で実装してみました。 こんな感じです。 JRubyArt版を参考にさせていただきました。 https://github.com/ruby-processing/The-Nature-of-Code-for-JRubyArt/tree/master/chp09_ga/NOC_9_02_SmartRockets_superbasic コードは大きいの…

ChipmunkとMagickCanvasで弾むボール

ruby.tnantoka.com 次は物理演算したい。 ということでやりました。 # frozen_string_literal: true require 'bundler/setup' Bundler.require class Canvas < MagickCanvas::Base attr_accessor :ball, :space, :circle_body Ball = Struct.new( :radius, :…

弾むボール

よくあるやつです。 # frozen_string_literal: true class Canvas < MagickCanvas::Base attr_accessor :ball Ball = Struct.new( :radius, :x, :y, :speed_x, :speed_y, :direction_x, :direction_y ) do def dx speed_x * direction_x end def dy speed_y …

MagickCanvasをGem化した

前回作ったMagickCanvasというクラスを雑にGem化した。 github.com rubygems.org Gem作ったの久しぶりだったけど、以下の手順で行けた。 $ bundle gem magick_canvas $ cd magick_canvas # magick_canvas.gemspecのTODOを修正 $ bundle $ bundle exec rspec …

RMagickでサインカーブ

今後同じようなコードを何度も書きそうだったので、MagickCanvasという怪しげなクラスを用意しました。 https://github.com/tnantoka/ruby.tnantoka.com/blob/17f6b32fa974eeb4dc16f1b4f51db45570742765/rmagick/magick_canvas.rb これを使ってサインカーブ…

RMagickでふよふよ

前回、静止画を試したので、今回はアニメーションGIFをやってみます。 残念ながら(Twitterがサポートしたと話題の)APNGにはまだ対応してないみたいです。 stackoverflow.com さて、「ふよふよ」とは僕が新たな環境でお絵描き系プログラミングを始めるとき…

RMagickで手書き風の円

ruby.tnantoka.com Rubyでやるなら使い慣れたRMagickでいくのがいいのか?という気がしてきた。 ということで、以下で描いた手書きの円をRMagickでやってみます。 ruby.tnantoka.com # frozen_string_literal: true require 'bundler/setup' Bundler.require…

Ruby 2D以外の選択肢

Rubyにはビジュアライズ関連のGemが少ないと勝手に思っていたがいろいろあった。 Gosu www.libgosu.org 老舗のゲームライブラリっぽい。Shapeの描画はあまり充実してなさそう。 gdk_pixbuf2 obelisk.hatenablog.com この記事で使われていた。 gtk3 qiita.com…

簡単な遺伝的アルゴリズム

ブログタイトルの「描きたい」とは少し離れますが。 Nature of Codeを読み直しているので、その中から、To be or not to be.という文を遺伝的アルゴリズムで生成する例を動かしてみます。 www.borndigital.co.jp 書籍のサンプルコードをJRubyArt向けに移植さ…

Ruby 2Dで手書き風の円

前回知った(思い出した)Ruby 2Dを早速使ってみます。 公式のチュートリアルはここにあります。 www.ruby2d.com Window さてまずはウィンドウを表示します。 # frozen_string_literal: true require 'bundler/inline' gemfile do source 'https://rubygems.…

Ruby 2Dを知らなかった(忘れていた?)

皆さんはプログラミングで絵を描くのは好きですか? 僕はプログラミングへの興味のきっかけが「ドラクエ作りたい」だったこともあり、 何かを描いたり、動かしたりするのが好きです。 自分に美的センスがないことは自覚しているのですが、 「プログラミング…