Hatena::ブログ(Diary)

橋本幸樹の無愛想な日記

2012-12-13

非モテP5erに贈る!イケメン言語 ruby-processing のご紹介

Processing Advent Calendar 2012 12月13日参加企画

はじめに

Processingユーザの皆さん、始めまして。橋本幸樹(@koki_h)と申します

今日Processingユーザ向けにruby-processingをご紹介します

ruby-processingProcessing機能ruby言語の文法をつかって記述できるようにした処理系で、Processingのかっこいいグラフィックをrubyのかっこいい構文で記述できるという究極のイケメン言語です。

今回はruby-processingインストールから簡単なプログラム作成までを紹介したいと思います*1

環境Windows Vista Business SP2です。他のWindowsを使っている人は適当に読み替えてください。LinuxMacでも動くはずですが、rubyのインストールなどはそれぞれの環境に合わせて行ってください。

Processingインストール

Processingインストール不要です。

rubyのインストール

ruby処理系はいろいろあるのですが、今回は、Ruby-1.9.3-p327 Microsoft Installer Package(2012-11-10) を使います

こちらのサイトからインストーラダウンロードます

ダウンロードしたら、インストーラを実行すればOKです。

ruby-processingインストール

スタートメニューの すべてのプログラムRuby-1.9.3 > Ruby-1.9 console (Administrator)

クリックしてコマンドプロンプトを開き、以下のコマンドを打ち込みます

> gem install ruby-processing

エラーメッセージのようなものも出てきますが、気にせずに以下のコマンドを打ち込みましょう。

> rp5 -v

ここででてきた"rp5"というのがruby-processingの本体です。このコマンドを使ってruby-prosessingのプログラムを実行します

"Ruby-Processing version 1.0.11"と出てきたら成功です。

必要な設定

早速サンプルスケッチでも動かしてみたいところですが、このままではエラーが出て動きません。

エラー回避するための設定が必要です。

以下の内容のテキストファイル作成し、ユーザディレクトリ*2 .rp5rc という名前で保存します

sketchbook_path : C:\Users\koki\Processing

"C:\Users\koki\Processing"の部分は各自の好きなディレクトリパスでOKです。

これでサンプルを動かす準備ができました。

サンプルを動かす

ruby-processingruby consoleから実行します

スタートメニューの すべてのプログラムRuby-1.9.3 > Ruby-1.9 console

で、出てきます*3

ruby consoleを開いたらサンプルを展開するディレクトリに移動します適当ディレクトリでOKです。

> cd C:\Users\koki\rp5

つぎにサンプルを展開します

> rp5 unpack samples

現在ディレクトリにsamplesというディレクトリ作成されます。この中にruby-processingのサンプルが入っています

サンプルの実行は以下のようにします

> rp5 run samples\contributed\jwishy.rb

なんかProcessingっぽいのが出てきましたね。成功です。

f:id:koki-h:20121208130510j:image

スケッチ作成

ではスケッチを作っていきましょう。

まず雛形を作ります

> rp5 create --bare first 200 200

これで現在ディレクトリにfirst.rbという名前ファイルができます

中身はこんな感じ。

def setup
    size 200, 200
end

def draw
  
end

これだけでもprocessingとそっくりなのがわかると思います(当たり前か)。この雛形をエディタで次のように編集ます*4

load_libraries :opengl
def setup
    size 200, 200, OPENGL  
    $rotation_rate = 0.02
end

def draw
    background 50, 50, 50
    translate 100, 100, 0; 
    rotateX frameCount * $rotation_rate;
    rotateY frameCount * $rotation_rate;
    rotateZ frameCount * $rotation_rate;
    box 100
end

そして次のように実行します

> rp5 run first.rb

すると、

f:id:koki-h:20121209165800j:image

こんな感じの立方体が回転する画が出てきます

ちなみに、同じのをProcessingでやると以下のようになります

import processing.opengl.*;
  
public float rotation_rate = 0.02;
void setup(){
  size(200,200,OPENGL);
}

void draw(){
  background(50,50,50);
  translate(100,100,0);
  rotateX(frameCount * rotation_rate);
  rotateY(frameCount * rotation_rate);
  rotateZ(frameCount * rotation_rate);
  box(100);
}

ruby-processingだとカッコが省略できたり、セミコロンがいらなかったり、変数の型指定がいらなかったり、すっきりしていてなかなかステキなんじゃじゃないでしょうか。この辺がRubyのイケメンっぷりですね。他にもオープンクラスだとかlambdaだとかruby面白い機能を使ってスケッチを作ることができます*5

その他便利な機能

> rp5 watch first.rb

とやるとfirst.rbを編集して保存した瞬間にプログラム再起動して変更内容が実行結果に反映されます

普通ProcessingだとCtrl+rを押したときみたいな動きですね。

> rp5 live first.rb

こうするとスケッチインタラクティブモードで起動します

実行中のスケッチコマンドプロンプトから動的に変更できます

かなり面白いのですが、ちょっと癖があって使いにくいかもしれません。

終わりに

インストールのやり方と簡単なプログラム作成をご紹介しましたがいかがだったでしょうか?

インストールコマンドプロンプトを使うところが若干面倒で、ドキュメントが少なかったりここ1年くらいメンテされていなかったり、あまりいけてない面もありますが、rubyならではのプログラムサクサク書ける感覚は他ではあまり味わえないと思います*6普通Processingと一味違った楽しみ方ができると思います。ぜひ一度チャレンジしてみてください!

リンク

*1:途中まで書いてよく見たら、ruby-processingのGetting Startedとほとんど同じ内容ですね。https://github.com/jashkenas/ruby-processing/wiki/getting-started

*2ユーザディレクトリパスコマンドプロンプトで、echo %USERPROFILE% と打ち込むと出てきます

*3ruby-processingインストールのところでも似たようなのが出てきましたね。あっちはコマンド管理者権限で実行するためのものです。

*4:ちなみにProcessingのようなIDEはありません。好みのエディタを使ってください

*5:詳しくはrubyの本などを参照してください。本当に面白いです。

*6:この記事の内容ではわかりづらいかもしれませんが。。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/koki-h/20121213/1355326737
リンク元
Connection: close