navigation

Pita: a design language

Pita はベクターグラフィックスを制作するための新しいプログラミング言語です。 Pita の提供する宣言的構文と図形演算や制約処理といった抽象化機能が状態管理や座標計算による煩わしさのない直感的なプロシージャルデザインを可能にします。

Pitaで記述した図の例


Pitaを動かしてみる

Square{scale:Vec2(100,100)}
 


Pitaの特徴

1. シンプルな構文

Pita では作りたい図形が何を持っているかという要素を列挙するだけで図形の定義をすることができます。 これは他の多くの手続き的プログラミング言語による作図よりも直感的で簡潔な定義となることでしょう。 また、分岐やループなどの制御構文、レコードやリストなどのデータ構造、第一級関数などの伝統的な言語機能も備えているので、複雑な手続きが必要な図形であっても表現に困るということはありません。

2. 図形のモジュール化

一度図形を作ったらそれを継承して新たな図形を簡単に作ることができます。 さらに図形定義中で他の図形定義を参照することもでき、作図工程のモジュール化の支援となります。

3. 制約処理

Pita は図の定義に、図が満たすべき仕様(図形同士が接触している、平行である、…)を制約として与えることができます。 制約は直接数式を記述するか、組み込みの述語を組み合わせることで定義できます。 制約を用いて図形を記述すると、Pita はその制約を満たす図形を自動的に計算して返してくれます。

他の特徴

  • Windows, macOS, Linux, JavaScript のサポート
  • 数値計算による高速な制約計算
  • 図形のブーリアン演算・自由変形
  • フォント対応
  • Unicode 対応
  • SVG 出力対応
  • MIT ライセンス