This article possibly contains original research. (July 2011) |
計算におけるシェイプ文法は、幾何学的形状を生成する生成システムの特定のクラスです。通常、形状は2次元または3次元であるため、シェイプ文法は2次元および3次元言語を研究する方法です。シェイプ文法は、1971年にジョージ・スティニーとジェームズ・ギップスによる独創的な論文で初めて紹介されました。 [1]シェイプ文法(特に2次元の線状要素)の数学的およびアルゴリズム的基礎は、ジョージ・スティニー著「図形とシェイプ文法の図的および形式的側面」(バーゼル・ビルクハウザー、1975年)で展開されました。シェイプ文法の応用は、ジェームズ・ギップス著「シェイプ文法とその利用法」(バーゼル・ビルクハウザー、1975年)で初めて考察されました。これらの出版物には、シェイプ文法がチューリングマシンをシミュレートできることを示す、2つの独立した(ただし同等の)構成も含まれています。
意味
シェイプ文法は、シェイプルールと、ルールを選択して処理する生成エンジンで構成されます。シェイプルールは、既存のシェイプ(の一部)をどのように変換するかを定義します。シェイプルールは、左から右を指す矢印で区切られた2つの部分で構成されます。矢印の左側の部分は「左側(LHS)」と呼ばれます。これは、シェイプとマーカーによって条件を表します。矢印の右側の部分は「右側(RHS)」と呼ばれます。これは、LHSシェイプをどのように変換するか、そしてマーカーの位置を表します。マーカーは、新しいシェイプの位置と方向を示すのに役立ちます。
シェイプ文法は、少なくとも 3 つのシェイプ ルール(開始ルール、少なくとも 1 つの変換ルール、終了ルール)で構成されます。開始ルールは、シェイプ生成プロセスを開始するために必要です。終了ルールは、シェイプ生成プロセスを停止するために必要です。プロセスを停止する最も簡単な方法は、マーカーを削除するシェイプ ルールを使用することです。シェイプ文法は、チョムスキー文法とは大きな点で異なります。生成ルールは、L システムで「生成」が行われる方法と同様に、シリアルに適用することも(チョムスキー文法のように)、並列に適用することもできます(チョムスキー文法では許可されていません) 。
シェイプ文法システムには、作成されたジオメトリが表示される作業領域も備わっています。生成エンジンは、既存のジオメトリ(多くの場合、現在の作業シェイプ(CWS)と呼ばれます)をチェックし、シェイプルールのLHSに一致する条件を探します。LHSが一致するシェイプルールは使用可能です。複数のルールが適用される場合、生成エンジンはどのルールを適用するかを選択する必要があります。別のシナリオでは、エンジンはまず文法ルールの1つを選択し、次にCWS内でそのルールのLHSに一致するすべてのルールを検索します。複数の一致がある場合、エンジンは(構成/実装に応じて)以下のいずれかを実行できます。
- すべての一致にルールを並列に適用し、
- すべての一致にルールを順番に適用する(不一致が生じる可能性があります)または
- 検出された一致の 1 つを選択し、この一致にのみルールを適用します。
シェイプグラマーは、住宅のレイアウトや構造の改良といった、小規模で明確に定義された生成問題に限定して用いる場合に最も有用です。シェイプルールは通常、小さな形状に対して定義されるため、シェイプグラマーはすぐに多くのルールを含むようになります。例えば、ウィリアム・ミッチェル[2]が提示したパラディオ様式のヴィラシェイプグラマーには69個のルールが含まれており、それらは8つのステージを通して適用されます。
パラメトリック形状文法は、形状文法の拡張です。[3]形状規則の右辺における新しい形状は、パラメータによって定義されるため、既存の形状の文脈をより多く考慮することができます。これは通常、新しい形状の内部比率に影響を与え、より多様な形状を作成できるようになります。このようにして、例えば屋根構造における梁の幅がスパンに依存するなど、構造条件に応じて形状文法を適応させる試みがなされています。
学術界では人気があり応用範囲が広いにもかかわらず、形状文法は一般的なコンピュータ支援設計アプリケーションでは広く使用されていません。
アプリケーション
形状文法はもともと絵画や彫刻のために提案されました[1]が、新しいデザインを創造するための形式主義を提供することから、特に建築(コンピュータ支援建築設計)において研究されてきました。形状文法は、装飾芸術、工業デザイン、工学などにも応用されています[4] 。
ソフトウェアプロトタイプ
これはウェブ上で利用可能なソフトウェアプロトタイプのリストです(厳密に言えば、そのうちのいくつかはむしろ定型文法システムです[5] [6])。
- 文法環境
- グレープ
- SD2
- シェイプ文法インタープリター
- シェイパー2D
- スパッパー
- サブシェイプ検出器
- 営蔵ファッションビルジェネレーター
- ソルタルGI
文学
- スティニー, G. & ギップス, J. (1972). 図形文法と絵画・彫刻の生成的仕様. Information Processing 71, 1460–1465. North-Holland Publishing Company. 記事へのリンク
- スティニー、G. (1975). 図形と図形文法の絵画的・形式的側面. バーゼル・ビルクハウザー. 書籍へのリンク
- スティニー, G. (1980). シェイプとシェイプ文法入門. 環境と計画B: 計画とデザイン7(3), 343-351.
- ナイト、TW(1994)『デザインの変容:視覚芸術における様式の変化と革新への形式的アプローチ』ケンブリッジ大学出版局。
- スティニー、G. (2006). 『シェイプ:見ることとすることについて語る』MIT出版、マサチューセッツ州ケンブリッジ。書籍へのリンク
参照
参考文献
- ^ ab Stiny, G. & Gips, J. (1972). 図形文法と絵画・彫刻の生成的仕様. Information Processing 71, 1460–1465. North-Holland Publishing Company.
- ^ ミッチェル、W. (1990). 『建築の論理』MITプレス、ロンドン.
- ^ Stiny, G. (1980). シェイプとシェイプ文法入門. 環境と計画B: 計画とデザイン7(3), 343-351.
- ^ Cagan, J. (2001). エンジニアリングシェイプグラマー:これまでの歩みと今後の展望. Antonsson, EK & Cagan, J. (編). 形式的エンジニアリング設計の統合. Cambridge University Press, Cambridge, UK.
- ^ McKay, A.; Chase, SC; Shea, K.; Chau, HH (2012). 空間文法の実装:理論から実用的なソフトウェアへ. AI EDAM (エンジニアリング設計、分析、製造のための人工知能) 26(02), 143-159.
- ^ スティニー、G.(1982)「空間関係と文法」環境と計画B:計画とデザイン9(1)、113-114。
外部リンク
- www.shapegrammar.org (インターネットアーカイブの最後のキャプチャ (2019))
- 図形文法とスタイルシミュレーション(参考文献一覧)
- シェイプ文法の実装:理論から実用的なソフトウェアまで(2010年時点の計算実装アプローチの概要)
- 2016年時点のシェイプ文法の進歩に関するワークショップ