L-SYSTEM 을 활용한 프랙탈
L-시스템을 이용해서 여러가지 멋진 프랙탈을 그려보도록 하자. 다음과 같이 변환 규칙, 공리 를 말하면 그에 맞게 코드로 설정하면 된다.
변 환 : F -> F+F--F+F
공 리 : F
lsystem.AddTransRule('F', "F+F--F+F");
lsystem.MakeAxiom("F");이 강좌에서는 따로 실행파일은 제공하지 않고 실행 결과의 그림과 변환 규칙, 공리만을 적는다.
코호섬

변환
F -> F-F+F+FF-F-F+F
공리
F-F-F-F
각도
90 도
코드
시어핀스키 사각형

변환
F -> FF-F-F-F-FF
공리
F-F-F-F
각도
90 도
코드
시어핀스키 가스켓

변환
F -> FF
변환
X -> ++FXF--FXF--FXF++
공리
FXF++FF++FF
각도
60 도
코드
힐버트 곡선

변환
F -> F
변환
X -> +YF-XFX-FY+
변환
Y -> -XF+YFY+FX-
공리
X
각도
90 도
코드
나무

변환
F -> FF+[+F-F-F]-[-F+F+F]
공리
F
각도
30 도
코드
열매를 맺는 나무

변환
F -> FF+[+F-F-F@]-[-F+F+F@]
공리
F
각도
30 도
코드
드래곤 곡선

변환
F -> F
변환
X -> X-YF-
변환
Y -> +FX+Y
공리
X
각도
90 도
코드
네모 곡선

변환
F -> FF-F-F-F-F-F+F
공리
F-F-F-F-
각도
90 도
코드
무궁화

변환
F -> F++F++F
F-F++F
공리
F++F++F++F++F
각도
36 도
코드
나무

변환
F -> F[+F[+F][-F]F][-F[+F][-F]F]F[+F][-F]F
공리
F
각도
30 도
코드
시어핀스키 곡선

변환
F -> F
변환
X -> YF+XF+Y
변환
Y -> XF-YF-X
공리
YF
각도
60 도
코드
시어핀스키 삼각형

변환
F -> FXF
변환
X -> +FXF-FXF-FXF+
공리
XF
각도
120 도
코드
눈송이

변환
F -> "" 아무런 문자로도 전재하지 않음
변환
L -> FL-FR--FR+FL++FLFL+FR-
변환
R -> +FL-FRFR--FR-FL++FL+FR
공리
FL
각도
60 도
코드
페아노 곡선

변환
F -> F
변환
X -> XFYFX-F-YFXFY+F+XFYFX
변환
Y -> YFXFY+F+XFYFX-F-YFXFY
공리
X
각도
90 도
코드
갈대

변환
F -> FF+[F+FF-F]-[+F+F-F]
공리
F
각도
26 도
코드
나무

변환
F -> FF+[+F-F-F]-[-FFF]
공리
F
각도
26 도
선인장

변환
F -> F
변환
S -> [++G][--G]TTS
변환
G -> +H[-G]L
변환
H -> -G[+HF]FL
변환
T -> TL
변환
L -> [-FFF][+FFF]F
공리
SLFFF
각도
18 도
코드
이곳에서 설명한 L-시스템 이외에도 자신이 L-시스템을 만들어 볼 수 있다. L-시스템의 모형을 만들고 이에 대한 공리, 변환, 각도를 정해주면 된다. 자신이 설계한 L-시스템이 원하는 그림을 화면에 뿌려낼 때에는 한동안 무아지경에서 빠져 나오지 못할 것이다. ;] - 끝 -
Last updated
Was this helpful?