🌐 KO

🌿 L-시스템 프랙탈 생성기

린덴마이어 시스템(L-시스템)으로 프랙탈을 생성해 보세요. 코흐 눈송이나 드래곤 곡선 같은 프리셋을 고르거나, 나만의 재작성 규칙을 작성해 터틀이 그려내는 모습을 확인하세요.

한 줄에 규칙 하나, 예: F=F+F--F+F. 기호: F와 G는 앞으로 그리기, + / - 는 회전, [ 와 ] 는 위치 저장/복원.

4
가이드

자세히 알아보기

01

L-시스템이란?

L-시스템(린덴마이어 시스템)은 생물학자 아리스티드 린덴마이어가 1968년에 식물과 조류의 성장을 모델링하기 위해 고안한 형식 문법입니다. 짧은 공리 문자열에서 시작해 재작성 규칙에 따라 각 기호를 반복적으로 치환하면, 문자열은 반복할 때마다 더 세밀해집니다. 최종 문자열은 이동·회전·분기를 나타내는 터틀 그래픽스 명령의 나열로 해석되어 화면에 프랙탈을 그립니다.
02

터틀 알파벳

각 기호는 가상의 터틀에게 내리는 그리기 명령입니다. FG는 선을 그으며 앞으로 이동하고, +는 설정한 각도만큼 왼쪽으로, -는 오른쪽으로 회전합니다. [는 현재 위치와 방향을 스택에 저장하여 분기를 시작하고, ]는 이를 되돌려 분기가 시작된 지점으로 복귀합니다. 이 두 괄호 명령 덕분에 하나의 규칙이 줄기와 잎을 뻗어, 단 몇 글자만으로 나무처럼 생동감 있는 형태를 만들어 냅니다.
03

사용자 규칙 작성하기

나만의 프랙탈을 만들려면 공리와 한 줄에 하나씩 규칙을 설정하세요. 고전적인 코흐 곡선은 공리 F, 규칙 F=F+F--F+F, 각도 60°를 사용하며, 매 반복마다 모든 F를 네 개의 더 작은 F로 치환합니다. 각 재작성이 문자열 길이를 배가시킬 수 있어 성장이 지수적이므로, 생성기는 반복을 7회로 제한하고 폭주하는 패턴을 브라우저가 멈추기 전에 막는 길이 가드를 적용합니다.

자주 묻는 질문

규칙에 어떤 기호를 쓸 수 있나요?
F와 G는 선을 앞으로 긋고, +와 -는 설정한 각도만큼 터틀을 왼쪽·오른쪽으로 돌리며, [와 ]는 분기를 시작하고 끝냅니다. 그 밖의 문자는 아무것도 그리지 않는 자리표시자로, 규칙에 의해 치환되기만 하며 이것이 매 반복마다 복잡한 구조를 쌓아 올리는 방식입니다.
반복 제한이 왜 있나요?
각 반복이 문자열 길이를 배가시킬 수 있어 그리기 명령의 수가 지수적으로 늘어납니다. 브라우저가 원활하게 동작하도록 생성기는 반복을 7회로 제한하고, 패턴이 매끄럽게 렌더링하기에 너무 커지기 전에 멈추는 길이 가드를 추가합니다.
유명한 L-시스템에는 무엇이 있나요?
코흐 눈송이, 드래곤 곡선, 시에르핀스키 화살촉이 대표적인 예이며, 아리스티드 린덴마이어가 L-시스템을 처음 설계할 때 기술하고자 했던 가지치는 식물 모델도 포함됩니다.