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

[거북이그림] 여섯번째 <나선 그리기>

by Mr.Algo 2024. 4. 27.
728x90
반응형

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

 

소라

 

나선 그리기

 

1. 기본형

나선(spiral)은 소라의 겉모습과 같이 모양이 빙빙 비틀린 형태를 이르는 말입니다.

 

위의 나선을 그린 코드입니다.

from turtle import*                
from random import*               # 난수 모듈
# colormode(255)                  # 실습창이 아니면 주석 해제
shape('turtle')
speed(0)
x,y=pos()                         # 현재 거북이 위치 좌표 
i=0                               # 한개의 선길이(변화 시킨다)
while -250<x<250 and -250<y<250:  # 거북이가 범위 안에 있는 동안 
    r=randint(0,255)              # 임의의 색깔
    g=randint(0,255)
    b=randint(0,255)
    color(r,g,b)
    width(i//30+1)                # i에 따라 선의 두께 변화  
    fd(i)                         # i만큼 앞으로 이동
    lt(30)                        # 30도 좌회전
    i+=0.5                        # 이동거리 증가
    x,y=pos()                     # 이동 후 거북이 위치
done()

 

2. 변화형

15번 줄의 각도와 16번 줄의 변의 길이를 수정하면 다른 그림을 얻을 수 있습니다.

번호 15, 16번 줄 나선의 모양
1   lt(120)
  i+=10
2    lt(72)
   i+=5
3     lt(160)
    i+=5

 

3. 응용형

응용할 수도 있습니다.

from turtle import*
from random import*
# colormode(255)
shape('turtle')
speed(0)
for i in range(3):
  up(); home(); down()    # 원점(home)으로 되돌아 감
  lt(i*120)
  x,y=pos()
  i=0
  while -250<x<250 and -250<y<250:
      r=randint(0,255)
      g=randint(0,255)
      b=randint(0,255)
      color(r,g,b)
      width(30)         # 이곳 수정
      lt(50)            # 이곳 수정
      fd(i)
      i+=40             # 이곳 수정
      x,y=pos()
done()

 

 

하고 싶은 것이 많아야 합니다.

여러가지로 응용하여 보세요.

삼각함수를 사용한 더욱 자연스러운 그림은 다음에 공부합니다.

 

수고하셨습니다.

안녕!

728x90
반응형