from turtle import*
from math import*
up(); goto(-180,0); down() # 시작 위치를 (-180,0)으로 이동
for d in range(360): # 한 주기(360도)를 그림
a=pi*d/180 # 디그리 각도를 라디안으로 변환, a=radians(d)와 같음
x=d-180 # 각도 d를 x 좌표로 사용(왼족으로 180만큼 위상 바꿈)
y=150*sin(a) # sin값이 -1에서 1이므로 150배로 증폭시킴
goto(x,y) # 바뀐 위치로 선을 그으며 이동
done()
각도를 표시하는 방법은디그리(degree,60분법)와 라디안(radian,호도법)이 있습니다.
디그리는 원의 중심각을 360도 표기하고, 라디안은 2p(2 파이, 약 6.28)로 표기합니다.
컴퓨터에서는 주로 라디안을 사용합니다.
라디안 표기법은 왜 원을 2파이(약 6,28)라고 할까요? 1라디안은 반지름과 같은 길이의 호(arc, 부체꼴)가 만드는 중심각의 크기입니다.
디그리로 360도를 라디안으로 표기하면? 원 둘레를 반지름으로 나누면 라디안이 됩니다. 원주율 파이를 p, 반지름을 r로 표기하면 2pr / r ==> 2p입니다. 즉, 360도를 라디안으로 나타내면 2파이(2p)입니다.
디그리(60분법)와 라디안의 관계식은? d : r = 360 : 2p 내항의 곱은 외항의 곱과 같으므로
360*r=2pd
양변을 360으로 나누면 r = p * d / 180
2. 코사인 곡선
사인 곡선과 코사인 곡선을 연결했습니다.
색깔도 넣고, 속도도 높혔습니다.
from turtle import*
from math import*
color('green') # 색을 넣고
speed(0) # 속도를 빠르게
up(); goto(-180,0); down()
for d in range(360):
a=pi*d/180
x=d-180
ys=150*sin(a) # 사인값 구하고
yc=150*cos(a) # 코사인값 구하고
goto(x,ys) # 사인값으로 가서
goto(x,yc) # 코사인값으로 갑니다.
done()
3. 주기, 위상, 진폭 변화
주기는 변화 속도, 위상은 시작 위치, 진폭은 높낮이입니다.
나도 예측할 수 없는 식들을 넣어보았습니다.
from turtle import*
from math import*
color('green')
speed(0)
up(); goto(-180,0); down()
for d in range(360):
a=pi*d/180
x=d-180
ys=50*sin(a)*sin(3*a) # 여기와
yc=150*cos(2*a)*sin(3*a) # 여기를 마음대로 바꾸었습니다.
goto(x,ys)
goto(x,yc)
done()