수학함수는 수학적인 계산을 하는 함수들이다.

double sin(double x);
double cos(double x);
double tan(double x);
double asin(double x);
double acos(double x);
double atan(double x);
double sinh(double x);
double cosh(double x);
double tanh(double x);


asin, acos, atan 기본 삼각 함수의 역함수이며
sinh, cosh, tanh는 쌍곡선 삼각함수이다.

삼각함수가 받아들이는 인수 x는 360분법의 각도가 아니라 호도(라디안)값이다.

라디안(호도) : 1호도는 원주의 길이가 반지름과 같아지는 각도인데 180/3.1416으로 정의 되어 있다.

호도 = 각도 * 3.1416/180



반지름 r 과 r의 길이가 같아지는 정도..? 잘 모르겠다.  일단 0~90도까지 값이 어떻게 나오는지 봐야겠다.
예제를 한 번 돌려 보았다.

#include "Turboc.h"
#include "math.h"

void main(void)
{
	int r;

	for(r=0;r<=90;r+=10){
		printf("sin(%d도)=%f\n",r,sin(r*3.1416/180));
	}
}
결과
sin(0도)=0.000000
sin(10도)=0.173649
sin(20도)=0.342021
sin(30도)=0.500001
sin(40도)=0.642789
sin(50도)=0.766046
sin(60도)=0.866027
sin(70도)=0.939694
sin(80도)=0.984808
sin(90도)=1.000000


염병.. 90도일때 1라디안이랑 가까워지는 구나.. 어찌라고?? 단순무식한 나에게는 한계인가? 무엇을 만들수 있을까 시계와
같은 것을 만들때 꼭 필요하다고 하다. 

#include "Turboc.h"
#include "math.h"

void main()
{
	double angle;
	int x=-1,y=-1;

	clrscr();
	gotoxy(40,12);
	putch('S');
	for(angle=0;;angle+=10){
		if(angle==360) angle=10;
		//if(kbhit()) break;
		gotoxy(40+x,12+y); 
		putch(' ');
		x=int(cos(angle*3.1416/180)*20);
		y=int(sin(angle*3.1416/180)*10);
		gotoxy(40+x,12+y); putch('E');
		delay(100);
	}
}



이런걸 만들 수 있다. 와우 신기하구나... 꿀꺽

+ Recent posts