Clojureで画像合成用の小さなライブラリ/ DSLを作成してみました。基本的には、図書館のユーザーが一連の数学関数を作成して、手続き的に面白い画像を作成できるようにすることです。DSL for Clojure画像合成
この関数は、double値で操作する必要があり、位置ベクトルを色値に変換する形式をとります。 (X、Y、Z) - >(R、G、B、A)私はいくつかの興味深い設計上の決定に直面していますが
:
- 入力は多分1,2,3またはを持つことができます4次元(x、y、z +時間)
- ベクトル演算(ドット積、加算、乗算など)を提供するのがよいでしょう。
- 回転、スケールなどの操作で関数を作成することは有益でしょう
- パフォーマンス上の理由から、原始的な二項演算を使用することが重要です(つまり、ボックス化されたd特にoubles)。したがって、赤、緑、青のコンポーネントを返す必要がある関数は、おそらくそれぞれプリミティブな赤、緑、青の値を返す3つの別々の関数になる必要があります。
この種のDSLがClojure(1.4ベータ版)でどのように合理的に達成できるかについてのアイデアはありますか?
はgithubの上までそれの任意の早期ドラフト片を手に入れたあなたが行うことができますテクスチャをスケールアップするには? – rplevy
https://github.com/mikera/clisk – mikera
あなたはパン(と私のパンチ、純粋なhaskellコピーだった)を知っていますか?これはちょうどこれをしたhaskellベースのライブラリでした。あなたはおそらくいくつかの情報をgoogleすることができます。それはあなたにいくつかのアイデアを与えるかもしれない。 [...] http:// conal。net/Pan /(あなたが美しいものを作りたいと思っているなら、落胆しないでください - そのような強力な図書館からこのような醜いイメージを生成するためにconalがいかに管理されたか驚いています)。 ps pancito too http://www.acooke.org/pancito-code/ –