검색어 입력폼

C프로그래밍 사인그래프를 이용한 선풍기 그리기

저작시기 2006.10 |등록일 2010.01.25 파일확장자압축파일 (alz) | 가격 1,500원

소개글

1. 과제의 목표
1차원 신호를 기본으로 하여 소스에 변화를 주어 새롭고 창의적인 출력을 낸다.

2. 그림
선풍기“는 머리와 날개와 몸체로 나뉘어져있습니다.
노란색과 하늘색이 머리를 나타내고
분홍색과 파란색이 날개를 나타내며
마지막으로 아랫부분의 자주색 그래프는 몸체입니다.
잘 보시면 선풍기 같이 생겼습니다.

3. 분석
sub를 쓴 이유는 날개부분의 그래프에 위상변화를 주기위해서입니다.
if를 쓴 이유는 역시 날개의 표현을 좀 더 현실화시키고 싶어서였습니다.
☆ 날개부분
x = 0.25 * sin(1.5 * omega* (t-sub));
y = 0.5 * sin(1.5 * omega * (t-sub));
선풍기머리함수(z,q)보다 주기를 1/2보다 조금 작게 만들어서 실제 선풍기처럼 날개가 본체머리와 겹치지 않도록 했습니다. 위상변화를 준 이유 역시 머리가 0에서 시작하면 날개는 그것보다 조금더 안쪽으로 들어가야하기 때문입니다.
☆ 머리부분
z = 1.5 * sin(0.5 * omega * t);
q = -1.5 * sin(0.5 * omega * t);
z함수를 t축에 대칭시켜서 q함수를 표현했습니다. z와 q가 합쳐져서 머리부분이 완성됐습니다.
☆ 몸체부분
s = 4.0 * sin(0.5 * omega * t) * sin(0.5 * omega * t) * sin(0.5 * omega * t) * sin(0.5 * omega * t) - 5.5 ;
처음에는 sin(0.5 * omega * t)의 진폭만 좀 더 많이 늘려서 아래로 이동시켜줘야지 라는 생각을 했는데 실행에 옮겨보니 비율이 맞지 않았습니다. 몸체가 너무 뚱뚱해서 머리부분보다 덩치가 훨씬 커지는 것이었습니다. 좀더 좁은 그래프를 그려야겠다는 생각을 하고 제곱을 했는데 좁아지기는 하는데 많이 좁혀지지는 않아서 네제곱을 했습니다. -5.5는 아래로 옮겨주기 위해 4라는 진폭에 -1.5(q의 진폭)을 더해준것입니다.

컴파일 실행환경

Microsoft visual studio C++
다운로드 맨위로