함수 그래프 플로터

수학 함수를 입력하면 그래프를 그려줍니다. sin(x), x^2 등 다양한 함수 지원.

함수 입력

프리셋
사용 가능한 함수
sin, cos, tan, asin, acos, atan, abs, sqrt, log, ln, exp, pow, floor, ceil, round, PI, E

함수 그래프

결과 공유하기

함수 그래프 플로터는 수학 함수를 입력하면 실시간으로 그래프를 그려주는 도구입니다. sin(x), x^2, 1/x 등 다양한 수학 함수를 지원하며, X/Y 범위를 자유롭게 조절할 수 있습니다. 안전한 수식 파서를 내장하여 sin, cos, tan, sqrt, log, exp 등 주요 수학 함수를 지원합니다. Canvas 2D API로 좌표축과 그리드를 렌더링하며, 마우스를 올리면 해당 위치의 정확한 좌표값을 확인할 수 있습니다. 수학 수업에서 함수의 형태를 시각적으로 이해하거나, 공학 계산에서 함수의 특성을 빠르게 파악하는 데 유용합니다.

실생활 예시

이럴 때 이렇게 계산해요.

  • 삼각함수 학습

    사례 01

    sin(x)와 cos(x)의 주기와 진폭을 시각적으로 비교합니다. 2sin(x)로 진폭을, sin(2x)로 주기를 변경해볼 수 있습니다.

    수식의 계수가 그래프의 형태에 어떤 영향을 미치는지 직관적으로 이해할 수 있습니다.

  • 이차함수 분석

    사례 02

    x^2 - 4x + 3을 입력하여 꼭짓점과 x절편을 시각적으로 확인합니다.

    그래프를 통해 함수의 근(x=1, x=3)과 최솟값 위치를 바로 파악할 수 있습니다.

  • 지수·로그 함수 비교

    사례 03

    exp(x)와 ln(x)를 각각 그려보고 두 함수가 y=x에 대해 대칭인지 확인합니다.

    지수함수와 로그함수의 역함수 관계를 시각적으로 이해할 수 있습니다.

  • 물리학 포물선 운동

    사례 04

    공의 높이를 시간의 함수 h(t) = -4.9x^2 + 20x + 1로 모델링하여 최대 높이와 도달 시간을 확인합니다.

    그래프의 꼭짓점에서 최대 높이(약 21.4m)와 도달 시간(약 2초)을 시각적으로 파악할 수 있습니다.

같이 쓰면 좋아요. 옆으로 넘겨 보세요.

자주 묻는 질문

궁금한 거 모아 봤어요. 눌러서 펼쳐 보세요.

어떤 함수를 입력할 수 있나요?

sin, cos, tan, asin, acos, atan, abs, sqrt, log(상용), ln(자연), exp, pow, floor, ceil, round 함수와 PI, E 상수를 사용할 수 있습니다. 사칙연산(+, -, *, /)과 거듭제곱(^)도 지원합니다.

암묵적 곱셈이란 무엇인가요?

2x는 2*x, 2sin(x)는 2*sin(x)로 자동 해석됩니다. 괄호 없이 바로 앞에 계수를 쓸 수 있습니다.

그래프가 끊어져 보이는 이유는 무엇인가요?

tan(x)나 1/x처럼 특정 점에서 정의되지 않는 함수는 해당 점에서 그래프가 자연스럽게 끊어집니다. 이는 불연속점을 정확히 표현하기 위한 것입니다.

여러 함수를 동시에 그릴 수 있나요?

현재는 한 번에 하나의 함수만 그릴 수 있습니다. 함수를 변경하면 실시간으로 새 그래프가 그려지므로, 두 함수의 형태를 비교하려면 번갈아 입력하며 확인하세요.

마우스로 좌표를 확인하는 방법은?

그래프 위에 마우스를 올리면 해당 위치의 (x, y) 좌표가 실시간으로 표시됩니다. 특정 점의 정확한 함수값을 확인하는 데 유용합니다.

X, Y 범위는 어떻게 설정하나요?

기본 범위는 -10~10이며, 슬라이더나 입력 필드로 자유롭게 조절할 수 있습니다. 세밀한 부분을 확인하려면 범위를 좁히고, 전체 형태를 보려면 넓히세요.

계산 원리

함수 그래프 렌더링은 좌표계 변환과 샘플링에 기반합니다. 수학적 좌표계(y축이 위로 증가)를 화면 좌표계(y축이 아래로 증가)로 변환해야 합니다. x좌표 변환은 screenX = (x - xMin) / (xMax - xMin) × canvasWidth이고, y좌표 변환은 screenY = canvasHeight - (y - yMin) / (yMax - yMin) × canvasHeight입니다.

그래프를 그리기 위해 x축을 N개의 등간격 점으로 나누어 각 점에서 f(x) 값을 계산합니다. 샘플 간격 Δx = (xMax - xMin) / N이며, N이 클수록 곡선이 부드러워지지만 계산량이 증가합니다. 일반적으로 캔버스 너비와 같은 수(약 800개)의 샘플을 사용하면 픽셀 단위 정밀도를 달성할 수 있습니다.

불연속점 검출은 연속된 두 점의 y값 차이가 임계값을 초과하는지 확인하여 처리합니다. |f(xᵢ) - f(xᵢ₋₁)| > threshold이면 두 점 사이에 선을 그리지 않습니다. tan(x)의 경우 x = π/2 + nπ 근처에서 값이 ±∞로 발산하므로 이 방법으로 수직 점근선을 깔끔하게 처리합니다.

사용 방법

총 소요 시간: 약 30초
  1. 함수 입력

    수식 입력란에 f(x) 형태로 함수를 입력합니다. (예: sin(x), x^2)

  2. 범위 설정

    X, Y축의 최소/최대 범위를 조절합니다.

  3. 그래프 확인

    실시간으로 렌더링된 그래프를 확인합니다. 마우스를 올려 좌표를 확인할 수 있습니다.

용어 사전

함수 (Function)
입력값 x에 대해 하나의 출력값 f(x)를 대응시키는 수학적 관계입니다.
좌표계 (Coordinate System)
점의 위치를 숫자 쌍 (x, y)으로 나타내는 체계로, 데카르트 좌표계가 가장 일반적입니다.
점근선 (Asymptote)
함수의 그래프가 한없이 가까워지지만 닿지 않는 직선으로, 수직·수평·사선 점근선이 있습니다.
주기 (Period)
함수가 같은 값을 반복하는 최소 간격으로, sin(x)의 주기는 2π입니다.
진폭 (Amplitude)
주기함수에서 중심값과 최대값의 차이로, A·sin(x)에서 진폭은 |A|입니다.
정의역 (Domain)
함수에 입력할 수 있는 x값의 범위로, sqrt(x)의 정의역은 x ≥ 0입니다.
치역 (Range)
함수의 출력값 f(x)가 취할 수 있는 y값의 범위입니다.