복소평면에 나타내기와 회전(추가)
FaintTears
질문 제목 : 복소평면에 나타내기와 회전
복소평면에 나타내기와 회전
질문 내용 :
2차 배열을 지정하고 row는 실수, column은 허수를 나타내려고 합니다.
만약 배열에 [1],[1]이 있으면 복소평면상의 좌표로 (1,1)을 나타낸다고 가정합니다.
이를 16.8도를 회전시키면 복소평면상의 좌표는 (1.25,0.67)이 되게됩니다.
이를 배열로 나타내면 [1.25],[0.67] 이렇게 될텐데요.
c언어에서 이렇게 나타낼수 있나요??
수학식으로는 1*cos(16.8) + j*1*sin(16.8) 이렇게 나타내어 집니다.
이를 코딩할수 있는지 궁금합니다.
된다면 방법 좀 알려주세요^^
변수 re과 im에 cos(angle)와 sin(angle)를 곱하기만 했는데 계산값이 엉터리값으로 출력이 됩니다.
#include math.h 선언해주었습니다.
angle는 define로 16.8입니다.
왜 계산값이 전혀 다르게 나타나는지 궁금합니다.
-
해나
위에서 re와 im에 각각 cos(angle)과 sin(angle) 값을 곱했을때 출력이 이상하게 나오는것은 printf에서 %d(정수형)로 출력을 하였기 때문입니다.
cos(value)는 double형이기때문에 rot_re 및 rot_im은 int가 아닌 double(또는 float)형으로 선언을 해주었습니다.
cos(angle*pi/180), sin(angle*pi/180)로 하고, 현재 소수점 셋째자리까지 표현하기 위해 %.3로 출력을 하니 정상