직답 — 흔히 ‘하트 그래프’라고 부르는 곡선은 하나가 아닙니다. (x²+y²−1)³−x²y³=0은 x와 y의 관계로 정의한 6차 대수곡선이고, r=a(1−sinθ)는 극좌표로 정의한 카디오이드입니다. 두 식은 모두 하트처럼 보이지만 같은 곡선이 아닙니다. 아래 탭에서 모양·좌표·그리는 방식을 따로 확인하세요.
MATHNET · DRAW AND COMPARE
같아 보이는 두 하트를 식부터 구분하세요
SVG 위에서 좌표를 짚고, 표본 밀도·카디오이드 크기·각도를 바꿔 보세요. 계산과 그리기는 이 브라우저 안에서만 실행됩니다.
식의 값이 0이 되는 경계를 격자에서 찾아 선분으로 잇습니다. 표본 밀도를 높이면 윤곽이 매끄러워지지만 방정식 자체는 바뀌지 않습니다.
θ를 0부터 2π까지 움직이며 r을 계산한 뒤 x=r cosθ, y=r sinθ로 바꿔 그립니다. a는 전체 크기만 바꿉니다.
(x²+y²−1)³−x²y³=0160×160 격자의 25,600개 셀에서 0등고선을 근사했습니다.
하트 모양을 만드는 두 방정식
F(x,y)=(x²+y²−1)³−x²y³F(x,y)=0x와 y를 직접 연결한 6차 암시적 대수방정식입니다. (0,1), (0,−1), (1,0), (−1,0)은 식을 정확히 만족합니다.
r=a(1−sinθ), a>0x=r cosθ, y=r sinθ넓이=3πa²/2 · 길이=8a · 최대 r=2a각도 θ가 정해지면 반지름 r이 정해지는 극방정식입니다. θ=π/2에서 r=0이므로 원점에 뾰족점이 생깁니다. ±sin·±cos를 고르면 곡선의 방향만 회전·반전됩니다.
이름만 보고 같은 식으로 취급하면 안 됩니다. cardioid는 어원상 ‘심장 모양’이지만, 인터넷에서 ‘하트 방정식’으로 많이 쓰이는 6차 대수곡선과 점의 집합이 일치하지 않습니다.
대수적 하트와 카디오이드는 무엇이 다를까?
| 비교 | 대수적 하트 | 카디오이드 r=a(1−sinθ) |
|---|---|---|
| 정의 방식 | 직교좌표의 암시적 식 F(x,y)=0 | 극좌표의 함수 r(θ) |
| 식의 종류 | 6차 대수곡선 | 삼각함수를 이용한 극곡선 |
| 대표 점 | (0,±1), (±1,0) | θ=0: (a,0), θ=π: (−a,0), θ=3π/2: (0,−2a) |
| 뾰족한 부분 | 위쪽의 갈라진 골과 아래쪽 끝이 함께 드러남 | θ=π/2에서 r=0이 되어 원점에 한 뾰족점 |
| 크기 조절 | 이 페이지에서는 계수를 고정 | a가 모든 좌표를 같은 비율로 확대·축소 |
| 넓이·길이 | 카디오이드 공식을 적용할 수 없음 | 넓이 3πa²/2, 곡선 길이 8a, 최대 반지름 2a |
| 그리는 방법 | 격자에서 F의 부호가 바뀌는 0등고선을 근사 | θ를 일정 간격으로 표본화해 매개점들을 연결 |
그래프는 어떻게 그려질까?
암시적 방정식은 0등고선을 찾는다
대수적 하트에서는 x를 하나 정해 y를 단일 함수로 계산하기 어렵습니다. 그래서 화면 영역을 작은 격자로 나누고 각 꼭짓점에서 F(x,y)를 계산한 뒤, 부호가 바뀌는 변 사이를 선형 보간합니다. 이 방식은 marching squares의 기본 아이디어이며 결과는 원래 곡선의 수치 근사입니다.
극방정식은 θ 순서대로 점을 만든다
카디오이드에서는 θ를 0부터 2π까지 늘리면서 r=a(1−sinθ)를 계산합니다. 각 극좌표를 x=r cosθ, y=r sinθ로 변환하고 순서대로 연결하면 닫힌 곡선이 됩니다.
방향을 바꾸면 r=a(1+sinθ), r=a(1−cosθ), r=a(1+cosθ)를 사용합니다. 네 식은 회전·반전된 같은 크기의 카디오이드이므로 넓이 3πa²/2, 길이 8a, 최대 반지름 2a는 그대로입니다.
정밀도는 식의 정확도가 아니라 화면 표본 수다
80에서 240까지의 표본 밀도는 SVG 경로의 매끄러움을 조절합니다. 최대 설정에서 대수적 하트는 58,081개 격자 꼭짓점과 57,600개 셀을 검사하도록 제한했습니다. 더 촘촘한 연구용 등고선이나 오차 보증이 필요하면 전용 수치해석 도구를 사용해야 합니다.
식에 좌표를 직접 대입해 검산하기
| 곡선 | 입력 | 계산 | 확인 |
|---|---|---|---|
| 대수적 하트 | (x,y)=(1,0) | (1²+0²−1)³−1²×0³=0 | 곡선 위의 점 |
| 대수적 하트 | (x,y)=(0,−1) | (0²+(−1)²−1)³−0²×(−1)³=0 | 곡선 위의 점 |
| 카디오이드 | θ=0 | r=a, x=a, y=0 | 오른쪽 축과 만남 |
| 카디오이드 | θ=π/2 | r=0, x=0, y=0 | 원점의 뾰족점 |
| 카디오이드 | θ=3π/2 | r=2a, x=0, y=−2a | 아래쪽 끝 |
수치 그래프의 오차와 성능 한계
암시적 곡선은 선분으로 근사된다
격자 변에서 F의 값이 선형으로 변한다고 보고 교점을 추정하므로 실제 곡선과 작은 차이가 생깁니다. 밀도를 높이면 보통 차이가 줄지만 수학적 오차 상한을 증명하는 기능은 아닙니다.
화면 좌표는 소수 넷째 자리로 반올림한다
좌표 복사 값은 읽기 편하게 반올림됩니다. 대입 검산이나 후속 계산에는 원래 식을 사용하고, 중요한 수치 작업에서는 필요한 정밀도를 별도로 정하세요.
브라우저 보호를 위해 표본 수를 제한한다
표본 밀도는 최소 80, 최대 240입니다. 슬라이더 입력은 다음 화면 그리기 시점에 한 번만 반영해 연속 드래그 중 중복 계산을 줄입니다. 이 도구는 교육용 2차원 미리보기이며 고해상도 출력기나 기호 계산기는 아닙니다.
하트 그래프 자주 묻는 질문
하트 그래프 방정식은 하나뿐인가요?
(x²+y²−1)³−x²y³=0은 함수인가요?
카디오이드도 하트 곡선인가요?
r=a(1−sinθ)에서 a는 무엇을 바꾸나요?
카디오이드의 넓이와 길이는 얼마인가요?
표본 밀도를 높이면 식도 더 정확해지나요?
그래프의 좌표를 어떻게 복사하나요?
- Wolfram MathWorld, Heart Curve — 카디오이드와 여러 하트 곡선, 6차 대수적 하트 방정식
- Wolfram MathWorld, Cardioid — 카디오이드의 극방정식, 뾰족점과 기본 성질
- OpenStax Precalculus 2e, 8.4 Polar Coordinates: Graphs — 극좌표 그래프와 카디오이드 식
- OpenStax Calculus Volume 2, 7.3 Polar Coordinates — 극좌표와 직교좌표 변환
- OpenStax Calculus Volume 2, 7.4 Area and Arc Length in Polar Coordinates — 극곡선의 넓이와 호의 길이 계산 원리
공식·렌더링 검증일: 2026-08-27 · 대수적 하트 기준점 F(±1,0)=F(0,±1)=0 · 카디오이드 기준점 θ=0, π/2, π, 3π/2 검산 · 버전 1.0.0