Diện tích: ...

Kết quả Chi tiết

Nhấn nút "Tính toán" để xem kết quả chi tiết.

Các đường cong

  • Đường đỏ: y = -x³ + x
  • Đường tím: y = eˣ
  • Đường xanh: y = -sin(x) + 3

Diễn giải Thuật toán

Bài toán này được giải bằng cách tìm một tâm $(x_c, y_c)$ và một bán kính $R$ sao cho hình tròn $(x-x_c)^2 + (y-y_c)^2 = R^2$ tiếp xúc với cả ba đường cong $f(x)$, $g(x)$, và $h(x)$.

1. Điều kiện Tiếp tuyến

Một hình tròn tiếp xúc với một đường cong $y=k(x)$ tại điểm $P(x_p, y_p)$ nếu:

  • Khoảng cách: Khoảng cách từ tâm $(x_c, y_c)$ đến điểm $P$ phải bằng $R$.
  • Pháp tuyến: Đường thẳng pháp tuyến (vuông góc với tiếp tuyến) của đường cong $k(x)$ tại $P$ phải đi qua tâm $(x_c, y_c)$.

2. Hệ Phương trình Phi tuyến

Chúng ta có 3 điểm tiếp xúc chưa biết $P_f, P_g, P_h$. Điều này dẫn đến một hệ 6 phương trình phi tuyến với 6 ẩn số:

  • 3 ẩn chính: $x_c$ (tâm x), $y_c$ (tâm y), $R$ (bán kính)
  • 3 ẩn phụ: $x_f, x_g, x_h$ (hoành độ của 3 điểm tiếp xúc)

Hệ này được xây dựng từ 3 phương trình khoảng cách (Lỗi 1-3) và 3 phương trình pháp tuyến (Lỗi 4-6) như đã định nghĩa trong `solver.js`.

3. Giải thuật (numeric.js)

Hệ này không thể giải bằng đại số thông thường. Chúng ta sử dụng thư viện numeric.js với thuật toán tối ưu hóa phi tuyến (`numeric.uncmin`).

Chúng ta định nghĩa một "Hàm Mục tiêu" (Objective Function) là tổng bình phương của 6 lỗi (từ 6 phương trình). Thuật toán sẽ tìm bộ 6 ẩn số $X = [x_c, y_c, R, ...]$ sao cho giá trị của hàm này là nhỏ nhất (gần bằng 0), đó chính là nghiệm của bài toán.