Lesson 01 — Góc: độ và radian

Minh hoạ tương tác cho 4 chủ đề chính: đường tròn đơn vị, chuyển đổi độ ↔ radian, so sánh sin(x rad) vs sin(x°), và quy gọn góc.

1. Đường tròn đơn vị tương tác

x (0°) y (90°) 180° 270° θ=0°

Kéo slider hoặc gõ trực tiếp. Cho phép góc âm và > 360°.

Độ:
60°
Radian (số):
1.0472
Radian (đẹp):
π/3
Hướng quay:
ngược kim ↺
Vòng quét:
0.17 vòng
x = cos θ:
0.5000
y = sin θ:
0.8660
Toạ độ (cos θ, sin θ) ở đây là preview Lesson 03 — đường tròn đơn vị. Lesson 02 sẽ định nghĩa sin, cos qua tam giác vuông; Lesson 03 mở rộng cho mọi góc.

2. Bộ chuyển đổi độ ↔ radian

Gõ vào một ô, ô kia sẽ tự cập nhật. Nếu là góc đặc biệt (30°, 45°, 60°, ...) sẽ hiện dạng phân số π.

Dạng đẹp: π/3

Công thức: rad = deg · π/180,   deg = rad · 180/π.

3. Demo math.Sin với độ vs radian — bug điển hình

Nhập một số x. Bảng cho thấy 2 cách tính: (a) coi x là radian (cách Go ngầm hiểu) và (b) đổi x độ → radian rồi tính.

Cách gọi Biểu thức Kết quả Đánh giá
math.Sin(x) sin(30 rad) -0.988032 ❌ Sai (Go hiểu x là rad)
math.Sin(deg2rad(x)) sin(30° → π/6 rad) 0.500000 ✓ Đúng (đổi sang rad trước)
Thử với x = 180: cách (a) cho ra số gần −0.8 chứ không phải 0 (vì 180 rad ≈ 28.6 vòng + đoạn lẻ). Cách (b) đổi 180° → π rad cho ra ≈ 1.22e-16 ≈ 0.

4. Quy gọn góc về dải chuẩn

Nhập một góc bất kỳ (có thể âm, có thể > 360°). Bấm Quy gọn để xem từng bước cộng/trừ (hoặc 360°) đến khi vào [0°, 360°).

Trong Go, dùng math.Mod(rad, 2*math.Pi) để lấy phần dư (nó giữ dấu của số bị chia, nên còn phải if r < 0 { r += 2π } để đẩy về dương). Toán tử % trong Go không áp dụng cho float — phải dùng math.Mod.