ProcessingとCraftROBOで、クリスマスカードを作成する最近の投稿Processing2.0の新機能。シェーダを使って高速に模様を描く。その2)Processing2.0の新機能。シェーダを使ってフィルタを作成する。2011(24日目)ProcessingとCraftROBOで、クリスマスカードを作成する今回は、Processingでデザインした内容を、CraftROBOに送り、紙を切りぬきます。本日はクリスマスイブですので、Processingでクリスマスツリーの形を作り、その情報をCraftROBOに送ることで、紙を切ることにしました。カッティングマシンCraftROBOは、カッターが付いているプリンターです。通常のプリンターは、インクヘッドが付いており、紙にインクを吹き付けて画像を出力しますが、CraftROBOは、インクヘッドの替わりにカッターがついているため、図形を切り出すことができるのです。概説CraftROBOは単純な命令コマンドを送ることで、制御することができます。そこで、Processingでline()などで線を引く時に、CraftROBOには紙を切る命令コマンドを送れば、Processingの実行画面で出力結果を確認し、そしてCraftROBOで紙を切ることができます。※なお、若干非公式な操作を行うため、CraftROBOが故障などしても、p5infoは一切の責任を負いません。CC330-20を用意します。ヨドバシカメラやAmazonなどで購入が可能です。お値段は25000円程度になります。購入後、PCからCraftROBOを使用できるように、付属のCDなどを使ってセットアップします。Master2」もインストールしておいてください。P5CraftRoboの利用P5CraftRobo.pdeをダウンロード、もしくはコピーします。Processingを起動し、P5CraftRoboを取り込んでください。P5CraftRobo.pdeこのP5CraftRoboは、Processingの描画命令とCraftROBOのコマンド出力の両方を実行できるクラスになります。※開発中のため不具合などがあるかもしれません。P5CraftRoboの仕様P5CraftRoboにはthisを与えてインスタンス生成を行ってください。P5CraftRobo.createImage()で画像ファイルを、P5CraftRobo.createPlt()で命令コマンドファイルをそれぞれスケッチのあるフォルダに出力します。画面サイズはP5CraftRobo.widthとP5CraftRobo.heightを使うと、CraftROBOでカットできる領域におさめることができます。P5CraftROBOをnewで作成した後は、P5CraftRoboが持つProcessing互換の描画命令を呼び出すことで、P5CraftRobo.createPlt()実行時に、命令コマンドファイルを出力することができます。現在実装されている互換描画命令は下記のとおりです。line()rect()ellipse()arc()beginShape()vertex()endShape()例えば下記のようにコーディングします。p5cr.createPlt();}すると、次の様な画像となります。CraftROBO」を起動します。「ファイル」→「ジョブの追加」、もしくは作成した.pltファイルをドラッグアンドドロップし、ジョブに追加します。その後、CraftROBOに紙をセットしたら、先ほど追加したジョブをクリックし、「送信」をクリックすることで、CraftROBOが動きだします。あとは、カットが完了するのを待つだけです。先ほどの、複数の縦線を切るコードで作ったpltファイルをCraftROBOに送って紙を切った後、円筒形にまとめたところ、このようなものができました。クリスマスツリーを切るクリスマスツリーは下記のプログラムで作成しています。完全に切断しない場合には、plotOffsetを設定する。false;}山折り、谷折りを交互に行うことで、クリスマスツリーの完成です。ProcessingAdventCalendarの1日目で作った、ハート形などを、CraftROBOで切ってみました。このように、ProcessingとCraftROBOを連携させることで、幾何学模様やたくさんの繰り返しの図形などを簡単に作り出すことができます。サンタクロースへのお願い事はもう決まりましたか?今年のクリスマスプレゼントはCraftROBOというのはいかがでしょうか?なお、P5CraftROBOはライブリなどにすると、便利になりますが、今回は時間の関係で割愛しました。