コンテンツにスキップ

L-system

出典: フリー百科事典『ウィキペディア(Wikipedia)』

L-systemLindenmayer systemIterated Function System IFSL-System 1968Aristid Lindenmayer

[]

L-system 3

 Anabaena catenula  L-system  L-system 

L-system []


L-system L-system 

L-system  en:Unrestricted grammar  

G = {V, S, ω, P},



V  PL-system  V

S  

ω  V 

P  V (A  AB) 

 PL-system L-system PL-system D0L-systemdeterministic context-free L-system L-system 

L-system L-system  FractInt LOGO L-system 

L-systems []

1[]


L-system 

V  A, B

S  

ωA

P  (A  AB), (B  A)



n = 0 A

n = 1 AB

n = 2  ABA

n = 3  ABAAB

n = 4  ABAABABA

 P(A  AB) AB(B  A) B A AB 

2[]


V  A, B

S  

ωA

P  (A  B), (B  AB)



n = 0 A

n = 1 B

n = 2 AB

n = 3  BAB

n = 4  ABBAB

n = 5  BABABBAB

n = 6  ABBABBABABBAB

n = 7  BABABBABABBABBABABBAB

 n=0 1 1 2 3 5 8 13 21 34 55 89  (B  AB)  (B  BA) 

3[]


V  A, B

S  

ωA

P  (A  ABA), (B  BBB)



n = 0 A

n = 1  ABA

n = 2  ABABBBABA

n = 3  ABABBBABABBBBBBBBBABABBBABA

 AB  (A  ABA) 3(B  BBB) Cantor set

4[]




V F

S  +, -;

ωF

P  (F  F+F-F-F+F)

F + 90°- 90°

n = 0  Koch Square - 0 iterations



F



n= 1  Koch Square - 1 iterations



F+F-F-F+F



n = 2  Koch Square - 2 iterations


F+F-F-F+F+F+F-F-F+F-F+F-F-F+F-F+F-F-F+F+F+F-F-F+F



n = 3  Koch Square - 3 iterations


F+F-F-F+F+F+F-F-F+F-F+F-F-F+F-F+F-F-F+F+F+F-F-F+F+  F+F-F-F+F+F+F-F-F+F-F+F-F-F+F-F+F-F-F+F+F+F-F-F+F-  F+F-F-F+F+F+F-F-F+F-F+F-F-F+F-F+F-F-F+F+F+F-F-F+F-  F+F-F-F+F+F+F-F-F+F-F+F-F-F+F-F+F-F-F+F+F+F-F-F+F+  F+F-F-F+F+F+F-F-F+F-F+F-F-F+F-F+F-F-F+F+F+F-F-F+F


5[]


L-system 
 

6[]


L-system 

V  A, B

S  +, -

ωA

P  (A  BAB), (B  A+B+A)

A  B+ 60°- 60°
n = 2, n = 4, n = 6, n = 8 の時にそれぞれ描画される図形。n → ∞ の時、シェルピンスキーの三角形に等しくなる。

例7:コッホ曲線の変形[編集]

通常のコッホ曲線に、周期的な角度の変更を加えながら描画したフラクタル図形の一種。

その他の L-system を利用したグラフィックス[編集]

  • 草本の作図例:
  • 木本の作図例:
  • (参考)ヘッケルによる放散虫のスケッチ。

既知の問題[編集]

L-system に関する問題は数多く存在するが、その最たるものは L-system を逆に辿る事が困難であるというものである。具体的には、ある構造が示された時に、その構造を生成するパラメータや置換規則を見つける事が難しい。これは自然物のような複雑な(反復回数の多い)過程を経て形成された図形に顕著である。

L-system の種類[編集]

実数列における L-system:

平面における L-system:

空間における L-system:


確率的L-system[編集]

確率的 (Stochastic) L-systemは、L-systemを拡張して確率的に分岐できるようにしたものである。確率的L-systemには標準が無いため、ソフトウェアによって文法が異なる。

以下は確率的な分岐を行うL-systemの実装毎の例である。

Tong Linの実装
(1996)
Houdini
(L-system SOP)
Cinema 4D
(MoSplineのTurtle)
A=(0.5)FA
A=(0.25)+F-A
A=(0.25)-F+A
A=FA:0.5
A=+F-A:0.25
A=-F+A:0.25
A:(rnd(1)<0.5)=FA
A:(rnd(1)<0.75)=+F-A
A:(rnd(1)>0.75)=-F+A

文脈依存L-system[編集]


 (Context-sensitive) L-systemL-systemL-systemTong Lin

関連項目[編集]

参考文献[編集]

外部リンク[編集]