The Unit Circle
Definition
The unit circle is a circle of radius 1 centered at the origin. For any angle \(\theta\) measured from the positive x-axis:
That is: go \(\theta\) around the circle; your coordinates are cosine and sine. For acute angles this matches SOH-CAH-TOA with hypotenuse 1. For larger angles it extends the definitions.
import math
def point_on_circle(theta_rad, r=1.0):
return (r * math.cos(theta_rad), r * math.sin(theta_rad))
print(point_on_circle(math.radians(180))) # (-1.0, ~0)
print(point_on_circle(math.radians(270))) # (~0, -1.0)Key points to memorize
| Angle | Coordinates \((\cos, \sin)\) |
|---|---|
| 0° (\(0\)) | (1, 0) |
| 30° (\(\pi/6\)) | (√3/2 ≈ 0.866, 1/2) |
| 45° (\(\pi/4\)) | (√2/2 ≈ 0.707, √2/2) |
| 60° (\(\pi/3\)) | (1/2, √3/2 ≈ 0.866) |
| 90° (\(\pi/2\)) | (0, 1) |
| 180° (\(\pi\)) | (−1, 0) |
| 270° (\(3\pi/2\)) | (0, −1) |
| 360° (\(2\pi\)) | (1, 0) |
Notice the symmetry: 30° and 60° swap coordinates; 45° is equal in both.
Signs by quadrant
| Quadrant | Angle range | cos (x) | sin (y) | tan (y/x) |
|---|---|---|---|---|
| I | 0°–90° | + | + | + |
| II | 90°–180° | − | + | − |
| III | 180°–270° | − | − | + |
| IV | 270°–360° | + | − | − |
Mnemonic: ASTC — All (QI), Sine (QII), Tangent (QIII), Cosine (QIV) are positive.
// Quadrant of an angle in degrees
function quadrant(deg) {
const a = ((deg % 360) + 360) % 360;
if (a < 90) return "I";
if (a < 180) return "II";
if (a < 270) return "III";
return "IV";
}
console.log(quadrant(150)); // II → sin positive, cos negative
console.log(quadrant(-45)); // IV
Reference angles
A reference angle is the acute angle to the nearest x-axis. It lets you compute any angle from QI values plus a sign:
- QII: \(180° − \theta\)
- QIII: \(\theta − 180°\)
- QIV: \(360° − \theta\)
Example: \(\sin 150°\). Reference angle = 180° − 150° = 30°. QII sine is positive:
Example: \(\cos 225°\). Reference angle = 45°. QIII cosine is negative:
import math
# Verify:
print(math.sin(math.radians(150))) # 0.5
print(math.cos(math.radians(225))) # -0.7071...Why developers care
Every rotation in 2D is the unit circle in disguise:
import math
# Rotate point (x, y) by angle_deg around origin
def rotate(x, y, angle_deg):
r = math.radians(angle_deg)
c, s = math.cos(r), math.sin(r)
return (x * c - y * s, x * s + y * c)
print(rotate(1, 0, 90)) # (0, 1) — unit-circle point for 90°Angles > 360° or negative just keep spinning — normalize with modulo first (see Angles).
Practice
- Without a calculator: give signs of \(\sin 200°\), \(\cos 200°\), \(\tan 200°\). Then verify in code.
- Compute \(\sin 330°\) and \(\cos 300°\) via reference angles; check with Python.
- What are the coordinates for \(-90°\)? For \(720°\)?
- Code it: write
point_on_circle_deg(deg, r)and plot 12 points at 30° steps (clock face).
Next: Special Right Triangles — where those √2/2 and √3/2 values come from.