삼각 함수 그래퍼 - 사인, 코사인, 탄젠트 시각화
삼각 함수 그래퍼는 사인, 코사인, 탄젠트 곡선을 화면에 그려주는 대화형 시각화 도구다. 진폭, 주파수, 위상 이동 값을 슬라이더로 바꾸면 파형이 실시간으로 변하는 모습을 볼 수 있어 학생과 교사가 삼각법의 주기적 성질을 직관적으로 익히는 데 도움이 된다.
삼각 함수 그래프 도구
함수 매개변수
함수 그래프
문서화
삼각 함수 그래퍼란 무엇인가?
사인, 코사인, 탄젠트와 같은 삼각 함수로 작업할 때, 이를 실제로 보는 것이 모든 차이를 만듭니다. 이 그래퍼를 통해 실시간으로 사용자 정의 가능한 매개변수로 이러한 기본적인 수학적 관계를 시각화할 수 있습니다. 이것이 특히 유용한 이유는 무엇일까요? 진폭, 주파수 또는 위상 이동이 파형에 어떤 영향을 미치는지 즉시 확인할 수 있으며, 이는 공식만으로는 이해하기 어려운 부분입니다.
학생들과 엔지니어들과 함께 작업하면서 발견한 점은 다음과 같습니다: 이러한 매개변수를 조작하고 그래프가 반응하는 모습을 볼 수 있는 순간, 추상적인 개념이 갑자기 이해됩니다. 사인, 코사인, 탄젠트 함수의 동작을 탐구하기 위해 진폭(파도의 높이), 주파수(압축된 정도), 위상 이동(수평 이동)을 조정할 수 있게 됩니다.
삼각 함수의 이해
삼각 함수는 직각 삼각형의 변 사이의 비율 또는 단위 원에서 각도와 점 사이의 관계를 설명합니다. 실제 세계 응용 프로그램에서 이들이 강력한 이유는 무엇일까요? 그들은 주기적입니다. 즉, 규칙적인 간격으로 반복되므로 소리 파동, AC 전기 회로, 계절 온도 패턴 등 everywhere에서 찾을 수 있습니다.
기본 삼각 함수
사인 함수
사인 함수 는 직각 삼각형에서 대변과 빗변 사이의 비율을 나타냅니다. 단위 원에서는 각도 x의 점의 y 좌표를 제공합니다. 원형 운동의 수직 구성 요소로 생각하세요.
표준 형태:
사용할 주요 특성:
- 정의역: 모든 실수
- 치역: [-1, 1] (이 경계 사이에서 진동)
- 주기: (약 6.28 단위마다 반복)
- 홀함수: (원점에 대해 대칭)
실제로 사인파는 오디오 신호부터 교류까지 모든 것을 모델링합니다. 순수한 음악 톤을 들을 때, 본질적으로 특정 주파수의 사인파를 듣고 있는 것입니다.
코사인 함수
코사인 함수 는 직각 삼각형에서 인접변과 빗변 사이의 비율을 나타냅니다. 단위 원에서는 각도 x의 점의 x 좌표입니다. 본질적으로 원형 운동의 수평 구성 요소입니다.
표준 형태:
주요 특성:
- 정의역: 모든 실수
- 치역: [-1, 1]
- 주기:
- 짝함수: (y축에 대해 대칭)
흥미로운 점: 코사인은 단순히 라디안(90도)만큼 이동된 사인입니다. 전기 공학에서 이 위상 차이는 커패시터와 인덕터와 같은 반응성 구성 요소가 있는 AC 회로를 분석할 때 중요합니다.
탄젠트 함수
탄젠트 함수 는 직각 삼각형에서 대변과 인접변 사이의 비율을 나타냅니다. 로도 생각할 수 있으며, 이는 왜 그 흥미로운 수직 점근선이 있는지 설명해줍니다.
표준 형태:
주요 특성:
- 정의역: 를 제외한 모든 실수 (여기서 n은 임의의 정수)
- 치역: 모든 실수 (무한!)
- 주기: (사인/코사인의 절반 주기)
- 홀함수:
- 수직 점근선: (여기서 )
흔한 실수: 점근선에서 탄젠트가 무한대로 치솟는다는 것을 잊는 것입니다. 이는 일 때 0으로 나누기 때문에 발생합니다. 항해와 측량에서 탄젠트는 각도와 경사를 연관시킵니다. 상승각과 수평 거리를 알면 탄젠트가 높이를 제공합니다.
수정된 삼각 함수
실제 세계 응용 프로그램은 순수한 사인 또는 코사인 함수를 거의 사용하지 않습니다. 일반적으로 특정 시나리오에 맞게 매개변수를 조정합니다. 일반적인 형태는 다음과 같습니다:
여기서:
- A는 진폭 (높이를 제어합니다. 오디오의 볼륨이나 전자의 전압을 생각하세요)
- B는 주파수 (파형이 압축되는 정도를 제어합니다. 높은 값은 더 많은 주기를 의미)
- C는 위상 이동 (수평 위치 - 파형 정렬을 비교할 때 중요)
- D는 수직 이동 (전체 파형을 위아래로 이동 - 기준선 또는 DC 오프셋)
이러한 수정은 코사인 및 탄젠트 함수에도 동일하게 적용됩니다. 실용적인 점은 무엇일까요? 120V 진폭의 60 Hz 전기 신호를 로 모델링하거나, 72°F 주위에서 진동하는 일일 온도 변화를 모델링할 수 있습니다.
삼각 함수 그래퍼 사용 방법
그래퍼는 매개변수를 조정할 때 즉시 업데이트되므로 실험이 자연스럽고 직관적입니다. 다음은 최대한 활용하는 방법입니다:
-
함수 선택: 드롭다운에서 사인, 코사인 또는 탄젠트를 선택합니다. 처음이라면 사인부터 시작하세요—가장 이해하기 쉽습니다.
-
매개변수 조정:
- 진폭: 파형의 높이를 제어합니다. 2로 설정하면 사인이 [-1, 1] 대신 [-2, 2]로 늘어나는 것을 볼 수 있습니다. 탄젠트의 경우 점근선을 향한 곡선의 가파른 정도에 영향을 줍니다.
- 주파수: 파형의 압축을 결정합니다. 이를 2로 설정하면 보통 한 번 보이는 곳에서 두 개의 완전한 주기를 볼 수 있습니다. 이는 음악적 화음이나 신호 분석을 이해하는 데 근본적입니다.
- 위상 이동: 전체 그래프를 왼쪽이나 오른쪽으로 밀어냅니다. 이것이 사인파를 코사인파처럼 보이게 만드는 것입니다(π/2만큼 이동).
-
실시간 업데이트 관찰: 그래프는 변경 사항에 즉시 반응합니다. 이러한 즉각적인 피드백이 개념을 이해하는 데 도움이 됩니다—손으로 점을 찍는 것보다 훨씬 좋습니다.
-
중요 지점 연구: 함수가 0을 지나는 지점, 최고점에 도달하는 지점, 또는 점근선(탄젠트의 경우)에 도달하는 지점에 주목하세요. 이러한 지점들이 함수의 동작에 대해 모든 것을 알려줍니다.
-
공식 복사: 복사 버튼을 사용하여 현재 함수를 저장합니다. 이는 숙제, 보고서 또는 코드에서 함수를 구현하는 데 필요할 것입니다.
효과적인 그래핑을 위한 팁
실제로 잘 작동하는 방법:
-
간단하게 시작: 항상 기본값(진폭 = 1, 주파수 = 1, 위상 이동 = 0)부터 시작하세요. 복잡성을 추가하기 전에 직관을 쌓으세요.
-
한 번에 한 가지만 변경: 이는 매우 중요합니다. 진폭과 주파수를 동시에 조정하면 어떤 변화가 무엇 때문인지 알 수 없습니다. 실험에서와 같이 변수를 분리하세요.
-
점근선 주의: 탄젠트로 작업할 때, 수직선은 오류가 아니라 함수가 정의되지 않은 점근선입니다. 이는 정기적인 간격(π/2 + nπ)에서 발생합니다.
-
함수를 나란히 비교: 동일한 매개변수로 사인과 코사인 간에 전환합니다. 코사인이 단순히 90도 이동된 사인임을 알 수 있습니다. 이 관계는 신호 처리에서 근본적입니다.
-
극단값 테스트: 진폭 = 10 또는 주파수 = 0.1을 시도해보세요. 극단적인 경우를 이해하면 실제 프로젝트에서 특이한 데이터를 만났을 때 놀라지 않을 것입니다.
수학적 공식 및 계산
삼각 함수 그래퍼는 다음 공식을 사용하여 그래프를 계산하고 표시합니다:
매개변수가 있는 사인 함수
여기서:
- A = 진폭
- B = 주파수
- C = 위상 이동
매개변수가 있는 코사인 함수
여기서:
- A = 진폭
- B = 주파수
- C = 위상 이동
매개변수가 있는 탄젠트 함수
여기서:
- A = 진폭
- B = 주파수
- C = 위상 이동
계산 예시
진폭 = 2, 주파수 = 3, 위상 이동 = π/4인 사인 함수의 경우:
x = π/6에서 값을 계산하면:
삼각함수 그래프의 실제 사용 사례
삼각함수는 놀라운 곳에서 발견됩니다. 이 그래퍼가 실제로 유용한 곳은 다음과 같습니다:
교육과 학습
- 삼각법 가르치기: 학생들이 시각적으로 조작할 수 있을 때 진폭과 주파수 개념을 몇 분 만에 이해할 수 있습니다. 추상적인 공식은 파형이 실시간으로 늘어나거나 압축되는 것을 보면 갑자기 의미가 명확해집니다.
- 숙제 검증: 계산 오류를 냈나요? 답과 예상 결과를 그래프로 그려보세요. 일치하지 않으면 즉시 문제를 발견할 수 있습니다.
- 직관 형성: 를 읽는 것과 보는 것은 다릅니다. 그래프를 보면 시작점, 진동 속도, 정점 위치를 모두 알 수 있습니다.
물리학 및 공학
- 파동 현상: 소리 파동은 본질적으로 사인파입니다. 440 Hz "A" 음은 로 모델링됩니다. 오디오 처리 코드를 디버깅하거나 음향 측정을 분석할 때 파형을 시각화하면 주파수와 진폭이 정확한지 확인할 수 있습니다.
- 교류 회로 분석: 전기 엔지니어는 매일 사인파 전압과 전류를 다룹니다. 미국 표준 가정용 전력은 볼트입니다. 위상 이동은 역률을 계산하거나 반응성 구성 요소를 분석할 때 중요합니다.
- 기계 진동: 스프링과 진자는 사인파 운동을 따릅니다. 구조적 진동을 분석하거나 서스펜션 시스템을 설계할 때, 이러한 그래프는 고유 주파수와 공명 조건을 보여줍니다.
- 신호 처리: 모든 복잡한 신호는 사인 및 코사인 성분으로 분해될 수 있습니다(푸리에 분석). 이 그래퍼는 전체 복잡성을 다루기 전에 각 성분을 이해하는 데 도움을 줍니다.
(번역은 계속됩니다...)
삼각 함수의 역사와 그래픽 표현
삼각 함수와 그래픽 표현의 발전은 수천 년에 걸쳐 실용적인 응용에서 정교한 수학 이론으로 진화해 왔습니다.
고대 기원
삼각법은 고대 문명에서 천문학, 항해, 토지 측량의 실용적인 필요에서 시작되었습니다:
- 바빌로니아인 (기원전 1900-1600년): 직각삼각형과 관련된 값의 표를 만들었습니다.
- 고대 이집트인: 피라미드 건설을 위해 원시적인 형태의 삼각법을 사용했습니다.
- 고대 그리스인: 히파르코스(기원전 190-120년)는 최초의 코드 함수 표를 만들어 사인 함수의 선구자로 여겨집니다.
현대 삼각 함수의 발전
- 인도 수학 (400-1200년): 아리아바타와 같은 수학자들이 오늘날 우리가 알고 있는 사인과 코사인 함수를 개발했습니다.
- 이슬람 황금기 (8-14세기): 알 콰리즈미와 알 바타니 같은 학자들이 삼각법 지식을 확장하고 더 정확한 표를 만들었습니다.
- 유럽 르네상스: 레기오몬타누스(1436-1476)는 포괄적인 삼각법 표와 공식을 출판했습니다.
그래픽 표현
삼각 함수를 연속적인 그래프로 시각화하는 것은 비교적 최근의 발전입니다:
- 르네 데카르트 (1596-1650): 그의 데카르트 좌표계 발명으로 함수를 그래픽으로 표현할 수 있게 되었습니다.
- 레온하르트 오일러 (1707-1783): 삼각법에 중요한 기여를 했으며, 삼각 함수를 지수 함수와 연결하는 유명한 오일러 공식()을 포함합니다.
- 조제프 푸리에 (1768-1830): 푸리에 급수를 개발하여 복잡한 주기 함수를 간단한 사인과 코사인 함수의 합으로 표현할 수 있음을 보여주었습니다.
현대 시대
- 19세기: 미적분학과 해석학의 발전으로 삼각 함수에 대한 더 깊은 이해를 제공했습니다.
- 20세기: 전자 계산기와 컴퓨터가 삼각 함수를 계산하고 시각화하는 능력을 혁명적으로 변화시켰습니다.
- 21세기: 대화형 온라인 도구(이 그래퍼와 같은)로 인터넷 연결만 있으면 누구나 삼각 함수에 접근할 수 있게 되었습니다.
자주 묻는 질문
삼각 함수란 무엇인가요?
삼각 함수는 직각 삼각형에서 각도와 비율을 연관시킵니다. 주요한 세 가지는 사인, 코사인, 탄젠트입니다(그 역수인 코세컨트, 세컨트, 코탄젠트는 덜 사용됩니다). 이는 단순한 이론적 수학 개념이 아니라 진동하거나 회전하는 모든 것을 설명하는 기반입니다: 파동, 원운동, 교류, 계절 주기 등. 물리학, 공학, 컴퓨터 그래픽, 데이터 과학 전반에서 찾아볼 수 있습니다.
왜 삼각 함수를 공식만 사용하지 않고 시각화해야 하나요?
다음과 같습니다: 를 보면 수학은 알 수 있지만 직관을 기르지 못합니다. 그래프로 그리면 즉시 정상보다 두 배 높게 진동하고, 세 배 빠르게 주기를 돌며, 왼쪽으로 이동했음을 알 수 있습니다. 그래프는 패턴, 영점, 최고점, 점근선을 한눈에 보여줍니다. 이러한 시각적 이해는 파동 간섭을 분석하거나, 신호 처리 코드를 디버깅하거나, 다른 사람에게 개념을 설명할 때 필수적입니다.
진폭 매개변수는 무엇을 하나요?
진폭은 높이를 제어합니다 - 파동이 수직으로 얼마나 늘어나는지를 말합니다. 사인과 코사인의 경우, 중심선에서 최고점까지의 거리입니다. 진폭을 2로 설정하면 사인파가 표준 -1에서 +1 대신 -2에서 +2까지 도달합니다. 실제 응용 분야에서 진폭은 물리적 양을 나타냅니다: 회로의 전압(120V), 음향의 음압, 기계 시스템의 변위. 진폭이 클수록 = 더 높은 파동.
주파수 매개변수는 무엇을 하나요?
주파수는 파동을 수평으로 압축하거나 늘리는 것을 제어합니다 - 기본적으로 주어진 공간에 몇 개의 완전한 주기가 들어가는지를 말합니다. 로 설정하면 가 한 주기를 완료하는 공간에서 두 개의 완전한 주기를 볼 수 있습니다. 주파수가 높을수록 더 많은 진동. 실용적인 관점에서: 고주파 오디오 = 높은 음높이, 고주파 전자기파 = 더 높은 에너지(라디오 대 X선 참고).
위상 이동 매개변수는 무엇을 하나요?
위상 이동은 그래프의 모양을 변경하지 않고 전체를 좌우로 밀어냅니다. 양수 값은 왼쪽으로(직관에 반하게!) 이동하고, 음수 값은 오른쪽으로 이동합니다. 이유는 다음과 같습니다: 는 사인을 90도 왼쪽으로 이동시켜 와 동일하게 만듭니다. 전자공학에서 위상 이동은 교류 신호가 서로를 강화하거나 상쇄하는지 결정합니다. 오디오에서는 노이즈 제거 헤드폰이 작동하는 이유입니다 - 주변 소음을 제거하기 위해 반대 위상의 소리를 생성합니다.
왜 탄젠트 함수에는 수직선이 있나요?
이 수직선은 점근선입니다 - 함수가 무한대로 치솟고 수학적으로 정의되지 않는 지점입니다. 이므로, 일 때(x = π/2, 3π/2 등) 0으로 나누게 됩니다. 함수는 한쪽에서 양의 무한대로, 다른 쪽에서 음의 무한대로 접근하여 이러한 불연속성을 만듭니다. 이는 그래퍼의 오류가 아니라 탄젠트의 근본적인 특성입니다. 수직에 접근하는 기울기를 분석하거나 공명 조건이 있는 전기 시스템에서 이를 만나게 될 것입니다.
라디안과 도의 차이는 무엇인가요?
둘 다 각도를 측정하지만, 라디안이 수학적으로 더 자연스럽습니다. 한 바퀴는 360° 또는 2π 라디안(약 6.28)입니다. 왜 라디안을 사용하나요? 미적분을 단순화하고 공식을 더 깔끔하게 만듭니다. 예를 들어, 의 미분은 x가 라디안일 때만 입니다. 이 그래퍼는 라디안을 사용합니다. 이는 고등 수학과 프로그래밍에서 표준이기 때문입니다. 빠른 변환: 도를 π/180으로 곱해 라디안을 얻거나, 180° = π 라디안이라는 사실을 이용하세요.
여러 함수를 동시에 그릴 수 있나요?
이 그래퍼로는 불가능합니다 - 시각적 혼란 없이 각 함수의 동작을 이해하는 데 집중할 수 있도록 한 번에 한 함수만 표시합니다. 여러 함수를 같은 축에 비교해야 한다면(예: 사인과 코사인의 관계를 보기 위해) Desmos 또는 GeoGebra를 사용하세요. 이러한 도구는 여러 그래프를 겹쳐 그릴 수 있어 더 고급 분석에 유용합니다.
이 그래퍼의 정확도는 어떤가요?
JavaScript의 내장 Math.sin(), Math.cos(), Math.tan() 함수를 사용하며, 이는 IEEE 754 부동소수점 표준을 구현합니다. 교육 목적, 숙제, 대부분의 실용적인 응용 프로그램에 충분히 정확합니다(일반적으로 15-17 유효 숫자). 그러나 한계가 있습니다: 극단적인 값은 부동소수점 정밀도 오류를 보일 수 있으며, 임의 정밀도 산술을 처리하지 않습니다. 정확한 기호 계산이나 매우 높은 정밀도가 필요한 연구의 경우 Mathematica, Maple 또는 SymPy가 있는 Python을 고려하세요.
그래프를 저장하거나 공유할 수 있나요?
"복사" 버튼으로 함수 공식을 복사할 수 있으며, 이는 문서화나 코드에서 함수 구현에 유용합니다. 그래프 자체의 경우 장치의 스크린샷 도구를 사용하세요(Windows/Linux에서 Ctrl+Shift+S, Mac에서 Cmd+Shift+4, 또는 휴대폰의 스크린샷 제스처). 이 그래퍼는 이미지를 직접 내보내지 않지만, 스크린샷은 보고서, 프레젠테이션 또는 동료와 공유하는 데 잘 작동합니다.
삼각 함수를 위한 코드 예제
다음은 삼각 함수를 계산하고 작업하는 방법을 보여주는 다양한 프로그래밍 언어의 예제입니다:
1// 사인 함수를 계산하고 그리는 자바스크립트 예제
2function calculateSinePoints(amplitude, frequency, phaseShift, start, end, steps) {
3 const points = [];
4 const stepSize = (end - start) / steps;
5
6 for (let i = 0; i <= steps; i++) {
7 const x = start + i * stepSize;
8 const y = amplitude * Math.sin(frequency * x + phaseShift);
9 points.push({ x, y });
10 }
11
12 return points;
13}
14
15// 사용 예시:
16const sinePoints = calculateSinePoints(2, 3, Math.PI/4, -Math.PI, Math.PI, 100);
17console.log(sinePoints);
181# 삼각 함수를 시각화하기 위한 matplotlib을 사용한 Python 예제
2import numpy as np
3import matplotlib.pyplot as plt
4
5def plot_trig_function(func_type, amplitude, frequency, phase_shift):
6 # x 값 생성
7 x = np.linspace(-2*np.pi, 2*np.pi, 1000)
8
9 # 함수 유형에 따라 y 값 계산
10 if func_type == 'sin':
11 y = amplitude * np.sin(frequency * x + phase_shift)
12 title = f"f(x) = {amplitude} sin({frequency}x + {phase_shift})"
13 elif func_type == 'cos':
14 y = amplitude * np.cos(frequency * x + phase_shift)
15 title = f"f(x) = {amplitude} cos({frequency}x + {phase_shift})"
16 elif func_type == 'tan':
17 y = amplitude * np.tan(frequency * x + phase_shift)
18 # 더 나은 시각화를 위해 무한대 값 필터링
19 y = np.where(np.abs(y) > 10, np.nan, y)
20 title = f"f(x) = {amplitude} tan({frequency}x + {phase_shift})"
21
22 # 그래프 생성
23 plt.figure(figsize=(10, 6))
24 plt.plot(x, y)
25 plt.grid(True)
26 plt.axhline(y=0, color='k', linestyle='-', alpha=0.3)
27 plt.axvline(x=0, color='k', linestyle='-', alpha=0.3)
28 plt.title(title)
29 plt.xlabel('x')
30 plt.ylabel('f(x)')
31
32 # x축에 특수 포인트 추가
33 special_points = [-2*np.pi, -3*np.pi/2, -np.pi, -np.pi/2, 0, np.pi/2, np.pi, 3*np.pi/2, 2*np.pi]
34 special_labels = ['-2π', '-3π/2', '-π', '-π/2', '0', 'π/2', 'π', '3π/2', '2π']
35 plt.xticks(special_points, special_labels)
36
37 plt.ylim(-5, 5) # 더 나은 시각화를 위해 y축 제한
38 plt.show()
39
40# 사용 예시:
41plot_trig_function('sin', 2, 1, 0) # f(x) = 2 sin(x) 그리기
421// 삼각 함수 값을 계산하는 Java 예제
2import java.util.ArrayList;
3import java.util.List;
4
5public class TrigonometricCalculator {
6
7 public static class Point {
8 public double x;
9 public double y;
10
11 public Point(double x, double y) {
12 this.x = x;
13 this.y = y;
14 }
15
16 @Override
17 public String toString() {
18 return "(" + x + ", " + y + ")";
19 }
20 }
21
22 public static List<Point> calculateCosinePoints(
23 double amplitude,
24 double frequency,
25 double phaseShift,
26 double start,
27 double end,
28 int steps) {
29
30 List<Point> points = new ArrayList<>();
31 double stepSize = (end - start) / steps;
32
33 for (int i = 0; i <= steps; i++) {
34 double x = start + i * stepSize;
35 double y = amplitude * Math.cos(frequency * x + phaseShift);
36 points.add(new Point(x, y));
37 }
38
39 return points;
40 }
41
42 public static void main(String[] args) {
43 // f(x) = 2 cos(3x + π/4)에 대한 포인트 계산
44 List<Point> cosinePoints = calculateCosinePoints(
45 2.0, // 진폭
46 3.0, // 주파수
47 Math.PI/4, // 위상 이동
48 -Math.PI, // 시작
49 Math.PI, // 끝
50 100 // 단계
51 );
52
53 // 처음 몇 개의 포인트 출력
54 System.out.println("f(x) = 2 cos(3x + π/4)에 대한 처음 5개 포인트:");
55 for (int i = 0; i < 5 && i < cosinePoints.size(); i++) {
56 System.out.println(cosinePoints.get(i));
57 }
58 }
59}
601' 사인 값을 계산하는 Excel VBA 함수
2Function SineValue(x As Double, amplitude As Double, frequency As Double, phaseShift As Double) As Double
3 SineValue = amplitude * Sin(frequency * x + phaseShift)
4End Function
5
6' 사인 함수를 위한 Excel 공식 (셀에서)
7' =A2*SIN(B2*C2+D2)
8' 여기서 A2는 진폭, B2는 주파수, C2는 x 값, D2는 위상 이동
91// 탄젠트 함수 값을 계산하기 위한 C 구현
2#include <stdio.h>
3#include <math.h>
4
5// 매개변수를 사용하여 탄젠트 계산하는 함수
6double parameterizedTangent(double x, double amplitude, double frequency, double phaseShift) {
7 double angle = frequency * x + phaseShift;
8
9 // 정의되지 않은 지점 확인 (cos = 0인 경우)
10 double cosValue = cos(angle);
11 if (fabs(cosValue) < 1e-10) {
12 return NAN; // 정의되지 않은 지점에 대해 숫자 아님
13 }
14
15 return amplitude * tan(angle);
16}
17
18int main() {
19 double amplitude = 1.0;
20 double frequency = 2.0;
21 double phaseShift = 0.0;
22
23 printf("x\t\tf(x) = %g tan(%gx + %g)\n", amplitude, frequency, phaseShift);
24 printf("----------------------------------------\n");
25
26 // -π부터 π까지의 값 출력
27 for (double x = -M_PI; x <= M_PI; x += M_PI/8) {
28 double y = parameterizedTangent(x, amplitude, frequency, phaseShift);
29
30 if (isnan(y)) {
31 printf("%g\t\t정의되지 않음 (점근선)\n", x);
32 } else {
33 printf("%g\t\t%g\n", x, y);
34 }
35 }
36
37 return 0;
38}
39참고문헌
-
Abramowitz, M. and Stegun, I. A. (Eds.). "수식, 그래프, 수학 테이블이 포함된 수학 함수 핸드북," 제9판. 뉴욕: Dover, 1972.
-
Gelfand, I. M., and Fomin, S. V. "변분법." Courier Corporation, 2000.
-
Kreyszig, E. "고급 공학 수학," 제10판. John Wiley & Sons, 2011.
-
Bostock, M., Ogievetsky, V., and Heer, J. "D3: 데이터 기반 문서." IEEE 시각화 및 컴퓨터 그래픽스 트랜잭션, 17(12), 2301-2309, 2011. https://d3js.org/
-
"삼각 함수." Khan Academy, https://www.khanacademy.org/math/trigonometry/trigonometry-right-triangles/intro-to-the-trig-ratios/a/trigonometric-functions. 2023년 8월 3일 접속.
-
"삼각법의 역사." MacTutor 수학 역사 아카이브, 세인트앤드루스 대학교, 스코틀랜드. https://mathshistory.st-andrews.ac.uk/HistTopics/Trigonometric_functions/. 2023년 8월 3일 접속.
-
Maor, E. "삼각 함수의 즐거움." 프린스턴 대학 출판부, 2013.
삼각 함수 탐구 시작하기
신호 처리 알고리즘을 디버깅하거나, 미적분 시험을 준비하거나, 파동의 동작에 대해 호기심이 있다면, 이 그래퍼는 즉각적인 시각적 피드백을 제공합니다. 진폭, 주파수, 위상 이동을 조정하고 수학이 생생하게 펼쳐지는 모습을 지켜보세요.
삼각 함수를 이해하는 가장 좋은 방법은 공식을 암기하는 것이 아니라 직접 다루어 보는 것입니다. 그래프를 그리기 시작하면 양자역학, 음향 공학, 컴퓨터 애니메이션에 이르기까지 이러한 기본 패턴이 어디에나 나타나는지 직접 확인할 수 있습니다.