연습문제 5-6
코흐(Koch) 곡선은 그림 5-2와 같은 모습의 프랙털이다. 길이가 x인 코흐 곡선을 그리려면 다음과 같은 작업을 해야 한다.
▼ 그림 5-2 코흐 곡선
1. 길이 x/3인 코흐 곡선을 그린다.
2. 왼쪽으로 60도 회전한다.
3. 길이 x/3인 코흐 곡선을 그린다.
4. 오른쪽으로 120도 회전한다.
5. 길이 x/3인 코흐 곡선을 그린다.
6. 왼쪽으로 60도 회전한다.
7. 길이 x/3인 코흐 곡선을 그린다.
x가 3보다 작으면 예외가 발생한다. 이런 경우에 길이 x인 직선을 그릴 수 있다.
1. 거북이와 길이를 인자로 받는 koch 함수를 작성하고, 거북이를 사용해 주어진 길이만큼 코흐 곡선을 그려라.
2. 눈송이의 외곽선을 만들기 위해 3개의 코흐 곡선을 그리는 snowflake 함수를 작성하라.
해법: http://thinkpython2.com/code/koch.py
3. 코흐 곡선은 여러 가지 방법으로 일반화할 수 있다. http://en.wikipedia.org/wiki/Koch_snowflake에서 다양한 예제를 보고 하나를 골라 구현해보자.