[JavaScript] 자바스크립트에서 삼각 함수 사용하기
2022. 5. 13. 19:44ㆍProgram/JavaScript
024_삼각 함수 사용하기
[적용]
- 삼각 함수 계산을 사용하고 싶을 때
- 좌표에서 각도를 구하고 싶을 때
- 호를 그리는 애니메이션 효과를 주고 싶을 때
[내용]
사인, 코사인, 탄젠트 등 삼각 함수 계산을 위한 메소드.
캔버스와 SVG에서 애니메이션 효과를 줄 때 자주 사용된다.
다음을 통해 사용법을 확인해 보자.
[문법]
메소드(속성) | 의미 | 반환(타입) |
Math.PI | 원주율 | 숫자 |
Math.cos(값) | 코사인 (cos) | 숫자 |
Math.sin(값) | 사인 (sin) | 숫자 |
Math.tan(값) | 탄젠트 (tan) | 숫자 |
Math.acos(값) | 코사인 역함수 (acos) | 숫자 |
Math.asin(값) | 사인 역함수 (asin) | 숫자 |
Math.atan(값) | 탄젠트 역함수 (atan) | 숫자 |
Math.atan2(y좌표, x좌표) | (x, y) 좌표가 이루는 각도 | 숫자 |
* 반환값 숫자의 단위는 라디안(Radian)이다.
[예시1]
JavaScript
Math.PI; // 원주율 3.141592653589793
Math.cos((90 * Math.PI) / 180); // cos 90º 6.123233995736766e-17(주1)
Math.sin((90 * Math.PI) / 180); // sin 90º 1
Math.tan((45 * Math.PI) / 180): // tan 45º 0.999999999999999(주1)
Math.acos(1); // 역함수 사인 1 = 0
(Math.atan2(1,1) * 180) / Math.PI; // (1, 1)의 좌표가 이루는 각도 45도
(주1)
자바스크립트 10진수의 유효 자릿수는 15자리(IEEE 754규격)이므로,
실제 cos90도와 tan45도의 값(0과 1)과 비교했을 때 오차가 발생한다.
[예시2]
Math.cos()와 Math.acos()에 전달하는 값의 단위는 라디안(Radian)이다.
원주의 길이는 \pi 로 표시하기 때문에 도수를 라디안으로 변환하는 편이 사용하기 쉽다.
이 도수의 변환식은 다음과 같다.
라디안 = (도수 * Math.PI) / 180;
삼각 함수를 사용해 원을 그리는 애0니메이션을 만들어 보자.
반지름이 100인 원주에 degree 위치 좌표는 다음과 같이 나타낼 수 있다.
JavaScript
// 각도
Let degree = 0;
// 회전각을 라디안으로 구하기
const rotation = (degree * Math.PI) / 100;
// 회전각으로 위치 구하기
const targetX = 100 * Math.cos(rotation);
const targetY = 100 * Math.sin(rotation);
참조 :
실무에 바로 적용하는 자바스크립트 코드레시피 278
아케다 야스노부, 카노 타케시 지음 / 이춘혁 옮김
'Program > JavaScript' 카테고리의 다른 글
[JavaScript] 자바스크립트 문자열의 길이(문자의 수) 확인하기 length() (0) | 2022.05.16 |
---|---|
[JavaScript] 자바스크립트에서 문자열 다루기 (0) | 2022.05.14 |
[JavaScript] 자바스크립트에서 수학(계산) 함수 사용하기 (0) | 2022.05.12 |
[JavaScript] 자바스크립트 임의의 수(random number) 다루기 (0) | 2022.05.11 |
[JavaScript] 자바스크립트 어림수 계산하기 (반올림, 올림, 버림) (0) | 2022.05.10 |