더북(TheBook)

arc 함수의 절반은 polygon과 같지만, 인터페이스를 변경하지 않고는 polygon을 재사용할 수 없었다. 세 번째 인수로 angle을 받도록 polygon을 일반화할 수도 있지만, 그러면 polygon은 이제 적절한 이름이 아니게 된다! 대신에 더 일반화한 함수를 polyline이라고 부르자.

def polyline(t, n, length, angle):

for i in range(n):

t.fd(length)

t.lt(angle)

이제 polygonarcpolyline을 사용하는 것으로 고쳐 보자.

def polygon(t, n, length):

angle = 360.0 / n

polyline(t, n, length, angle)

 

def arc(t, r, angle):

arc_length = 2 * math.pi * r * angle / 360

n = int(arc_length / 3) + 1

step_length = arc_length / n

step_angle = float(angle) / n

polyline(t, n, step_length, step_angle)

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