본문 바로가기
  • Top Genius in the world
거북이 그림

[거북이그림] 두번째 <다각형 놀이>

by Mr.Algo 2024. 3. 31.
728x90
반응형

 

파이썬 실습창을 열 수 있습니다.실습창 열기

 

 

1. 원 그리기

원 그리기 구문입니다.

circle(radius, extent=None, steps=None)
           radius – a number                       반지름 - 숫자
           extent – a number (or None)      범위     - 숫자(또는 None)
           steps – an integer (or None)       증가값 - 숫자(또는 None) 
  • 현재의 거북이 위치에서 그리기 시작합니다.
  • 범위 (각도)는 원을 그리는 각도입니다. 범위가 주어지지 않으면 전체 원을 그립니다. 반지름이 양수 이면 시계 반대 방향으로 호를 그리며 , 그렇지 않으면 시계 방향으로 호를 그립니다.
  • 증가값은 원 한 바퀴를 나눈 값입니다. 삼각형은 증가값이 3이 됩니다. 정다각형을 그리는데 사용할 수 있습니다.

다음 코드를 실행하여 보세요.

from turtle import* shape('turtle') circle(100) done()

 

반지름 100인 원을 그립니다.

 

● 시작 위치를 바꿀 수 있습니다.

새로운 그림을 그릴 때는 열린 창(도화지)를 닫음 다음에 실핼하세요.

에러가 발생되면 한번 더 실행하고, 두번 실행해도 에러면 프로그램을 수정하세요.

from turtle import* shape('turtle') up(); goto(80, -100); down() circle(100) done()
  • 거북이는 선을 그으면서 움직입니다.
  • 선을 긋지 않고 이동하려면 거북이를 위로 띄우고(up), 이동(goto)한 다음에, 내려오게(down)하면 됩니다. 
  • 좌표는 수학의 좌표와 같습니다. 처음 거북이의 위치가 원점(0,0)입니다.
  • 3번 줄의 ;(semicolon)은 같은 줄에 여러 문장을 쓸 때 사용합니다. 줄을 바꾸어 쓰도 됩니다.

2. 다각형 그리기

2-1. circle로 다각형 그리기

다음 코드는 정5각형을 그립니다.

위의 코드에 필요한 부분을 추가하세요.

from turtle import* shape('turtle') up(); goto(80, -100); down() circle(100,None,5) done()
  • 4번 줄의 5를 다른 숫자로 바꾸면 다른 다각형을 그릴 수 있습니다.

2-2. circle로 연속하여 다각형 그리기

다음 코드를 실행하여 보세요.

위의 코드를 수정하면 됩니다.

from turtle import* shape('turtle') up(); goto(80, -100); down() for n in range(3,10): ​​circle(100,None,n) ​​clear() done()
  • 4번 줄 끝에 :(colon)이 있습니다. 5번과 6번 줄은 들여쓰기 하여야 합니다.
  • range(3,10)은 3부터 9(10 앞까지) 의 수열 즉 3,4,5,6,7,8,9입니다.
  • for는 range의 값들을 순서대로 하나씩 n에 바인딩하고 밑에 있는 들여쓰기한 부분을 실행, 이과정을 반복합니다.
  • clear()은 화면을 지웁니다.
  • 정리하면, 처음 n이 3이 되어, 5번 줄에서 3각형을 그리고 6번 줄에서 지웁니다. 다시 n이 4가 되어 4각형 그리고 지우고, 이 과정을 n이 9가 될때까지 반복합니다.

2-3. 색 채우기

그려진 도형에 색을 채울 수 있습니다.

다음 코드를 실해하여 보세요.

위의 코드에 필요한 부분을 추가하면 됩니다.

from turtle import* shape('turtle') color('green') up(); goto(80, -100); down() for n in range(3,10): ​​begin_fill() # 색 채우기 시작(밑줄<underscore>주의) ​​circle(100,None,n) ​​end_fill() # 색 채우기 끝 ​​delay(1000) # 1초 기다림 ​​clear() # 화면 지우기 ​​delay(0) # 다시 빠르게(생략하면 실행마다 1초 기다림) done()

 

 

3.  다각형 놀이

위의 프로그램을 고쳐서 재미있는 다각형 놀이를 하여 봅시다.

from turtle import* from random import* # 난수 만들기 준비 shape('turtle') for n in range(30): # 30개의 다각형 ​​r=randint(0,255) # 빛의 3원색 red, green, blue ​​g=randint(0,255) ​​b=randint(0,255) ​​fillcolor((r,g,b)) # 면색깔을 r,g,b 난수 대로 ​​ ​​x=randint(-150,150) # 가로 위치 -150에서 150사이 ​​y=randint(-150,150) # 세로 위치 -150에서 150사이 ​​d=randint(5,30) # 반지름 5에서 30사이 ​​a=randint(3,8) # 도형은 3각형에서 8각형 사이 ​​up(); goto(x,y); down() # 난수 위치로 가서 ​​begin_fill() ​​circle(d,None,a) # d 난수 반지름으로, a 난수 다각형 ​​end_fill() ​​ ht() # 마지막에는 거북이 숨긴다(hide turtle) done()
  • randint(a, b)는 a이상 b이하의 정수 난수를 반환합니다.
  • 모든 색은 빛의 3원색인 red(빨강), green(녹색), blue(.파랑)으로 이루어져 있습니다.
  • 각 색깔의 정도는 0이상 255의 숫자로 구분합니다.
  • 텀퓨터에서는 r, g, b의 색깔 정도의 조합으로 모든 색을 표현할 수 있습니다.

즐겁게 응용하시기 바랍니다.

 

수고하셨습니다.

오늘 끝.

728x90
반응형