더북(TheBook)

연습문제 5-6

코흐(Koch) 곡선은 그림 5-2와 같은 모습의 프랙털이다. 길이가 x인 코흐 곡선을 그리려면 다음과 같은 작업을 해야 한다.

▼ 그림 5-2 코흐 곡선

1102198.png 

1. 길이 x/3인 코흐 곡선을 그린다.

2. 왼쪽으로 60도 회전한다.

3. 길이 x/3인 코흐 곡선을 그린다.

4. 오른쪽으로 120도 회전한다.

5. 길이 x/3인 코흐 곡선을 그린다.

6. 왼쪽으로 60도 회전한다.

7. 길이 x/3인 코흐 곡선을 그린다.

x3보다 작으면 예외가 발생한다. 이런 경우에 길이 x인 직선을 그릴 수 있다.

1. 거북이와 길이를 인자로 받는 koch 함수를 작성하고, 거북이를 사용해 주어진 길이만큼 코흐 곡선을 그려라.

2. 눈송이의 외곽선을 만들기 위해 3개의 코흐 곡선을 그리는 snowflake 함수를 작성하라.

해법: http://thinkpython2.com/code/koch.py

3. 코흐 곡선은 여러 가지 방법으로 일반화할 수 있다. http://en.wikipedia.org/wiki/Koch_snowflake에서 다양한 예제를 보고 하나를 골라 구현해보자.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.