> Week 2. 'Mondriaan Generator'
Crescent
01. Info
-
몬드리안의 '빨강, 파랑, 노랑의 구성'에서 따왔다.
-
Alphabet:
H
,V
,R
,C
,[
,]
- Square:
H
(horizontal),V
(Vertical) - Line:
R
(row),C
(column) - small square:
[]
, 작은 사각형의 모임
- Square:
-
Start:
V
-
Stochastic L-system Rule(Probability)
- (
H
→[VCV]
): 50% or (H
→V
): 50% - (
V
→[HRH]
): 50% or (V
→H
): 50%
- (
box("[[VCV]R[VCV]]")
: parsing string parameterbox("[VCV]")
box("VCV")
rect(V)
line(C)
rect(V)
line(R)
box("[VCV]")
box("VCV")
rect(V)
line(C)
rect(V)
- Using
java.util.ArrayDeque
andjava.util.Deque
to make a stack Deque
를 스택으로 써서 괄호 문자열을 파싱하는 방향으로 나아갔다.[[VCV]RV]
일 때R
이 등장하는지 혹은C
가 등장하는지에 따라서 현재 상태를 파악했다.- 선 앞인지 뒤인지에 따라서 그리는 사각형의 크기가 달라지므로 그것도 파악했다.
- 일부
L-system
의 코드는Nature of Code
에서 따왔다.LSystem.pde
와Rule.pde
는 거의 다 가져왔고, 그리는 부분은class
없이 새로 짰다.
noc-examples-processing/chp08_fractals/NOC_8_09_LSystem/
getB()
:Stochastic L-system Rule
을 구현하기 위해서random
을 썼다.- 대략 확률은
50%
로 구성
- 대략 확률은