Doodle: Scalaによる2Dグラフィックスライブラリ
Doodleは、2Dグラフィックス、アニメーション、データ可視化、クリエイティブコーディングを実現するScalaライブラリです。
Java2DによるJVM環境、またはSVG/CanvasによるWebブラウザ環境で動作します。
簡単な例として、再帰的な手法でチェスボードを作成するコードが紹介されています。
IntelliJ IDEAユーザーは、インプシット解決のバグによりエラーが発生する可能性があるため、注意が必要です。
Scala言語のライブラリ「Doodle」が、2Dグラフィックス、アニメーション、データ可視化、クリエイティブコーディングを可能にするツールとして登場しました。JVM上でJava2Dを利用したり、Webブラウザ上でSVGやCanvasを利用したりと、幅広い環境で動作するとのことです。ここでは、Doodleの概要と、簡単なサンプルコードを紹介します。
Doodle とは何か? 表現の幅を広げるライブラリ
Doodleは、Scalaという関数型プログラミング言語で記述されたライブラリです。2Dグラフィックスの描画はもちろん、アニメーションやデータ可視化といった表現も可能にしています。クリエイティブコーディングの分野で活用できるツールとして注目されており、Java2DやSVG、Canvasといった技術を活用することで、様々な環境での利用が可能です。Scalaは、FacebookやTwitterなどの大手IT企業でも利用されている、比較的新しいプログラミング言語だそうです。
サンプルコードで試してみよう
Doodleの簡単なサンプルコードでは、チェス盤の描画を段階的に示しています。まず2x2の盤面を作成し、それを元に4x4、そして8x8のチェス盤へと再帰的に構築していく様子が確認できます。`Image`というDSL(Domain Specific Language)を用いることで、直感的に画像を作成できるのが特徴です。このコードを実行するには、Doodleライブラリの依存関係を`build.sbt`ファイルに追加する必要があります。
IntelliJ IDEA ユーザーへ
IntelliJ IDEAという統合開発環境(IDE)をご利用のユーザーは、Scalaプラグインのバグにより、コンパイル時にエラーが表示される可能性があります。これは、Doodleが利用する暗黙的なパラメータが正しく解決されないことが原因だそうです。エラーを無視するか、`chessboard.draw[Algebra, Frame, Canvas]()`のように明示的に型を指定することで回避できます。より快適な開発環境のためには、テキストエディタとMetalsという拡張機能の組み合わせが推奨されています。
まとめ
Doodleは、2DグラフィックスやアニメーションをScalaで表現したい開発者にとって、強力なツールとなるでしょう。公式ドキュメントには、より詳細な情報やチュートリアルが用意されているとのことですので、ぜひ活用してみてください。
原文の冒頭を表示(英語・3段落のみ)
Doodle is a Scala library for 2D graphics, animation, data visualization, and creative coding. It runs in both the JVM, rendering via Java2D, and the web browser using SVG or the Canvas.
Getting Started
To use Doodle, add the following to your build.sbt
※ 著作権に配慮し、引用は冒頭3段落までです。続きは元記事をご覧ください。