1. Tuyển Mod quản lý diễn đàn. Các thành viên xem chi tiết tại đây

Tìm khoảng cách ngắn nhất từ 1 điểm đến 1 đường cong cho trước!

Chủ đề trong 'Toán học' bởi aivoges, 22/10/2004.

  1. 1 người đang xem box này (Thành viên: 0, Khách: 1)
  1. aivoges

    aivoges Thành viên quen thuộc

    Tham gia ngày:
    06/11/2002
    Bài viết:
    413
    Đã được thích:
    0
    Tìm khoảng cách ngắn nhất từ 1 điểm đến 1 đường cong cho trước!

    Em có một bài toán khó muốn hỏi các bác giỏi toán: có phương pháp số nào để tính khoảng cách ngắn nhất từ 1 điểm đến 1 đường cong bất kì cho trước không nhỉ? Và tất nhiên là cả vị trí của điểm gần nhất đó trên đường cong!
  2. Ica

    Ica Thành viên rất tích cực

    Tham gia ngày:
    30/03/2001
    Bài viết:
    1.783
    Đã được thích:
    0
    Bạn cứ viết phương trình đường cong ra, sau đó giải bài toán tối ưu hóa là xong.
  3. aivoges

    aivoges Thành viên quen thuộc

    Tham gia ngày:
    06/11/2002
    Bài viết:
    413
    Đã được thích:
    0
    Bác nói ngắn gọn quá, vấn đề là giải bài toán tối ưu hoá thế nào chứ? Có lẽ cách bác nói là giả sử 1 điểm (x,y) nào đó thuộc đường cong, sau đó viết phương trình khoảng cách từ điểm cần tìm đến (x,y) rồi minimize nó. Phương pháp để minimize vẫn thường làm là tính đạo hàm. Nhưng phương pháp này phức tạp quá, không thể dùng cho phương pháp số được, đó là chưa kể có những hàm rất phức tạp, viết được phương trình để minimize không phải dễ, có khi là impossible!
    Cách hiện nay mà tôi đang làm là dùng Lagrange Multipliers (không biết viết tiếng Việt là gì nữa). Tuy nhiên vẫn phải tính đạo hàm riêng cho từng biến bằng tay, không thể dùng máy tính giải được. Cuối cùng là giải 1 hệ phương trình (thường là phi tuyến), cái này cũng không thành vấn đề lắm, ta có thể dùng pp Newton-Raphson để giải.
    Cái tôi băn khoăn hiện nay là phương pháp số tổng quát để giải trên máy tính cơ !?
    Được aivoges sửa chữa / chuyển vào 22:06 ngày 22/10/2004
  4. Ica

    Ica Thành viên rất tích cực

    Tham gia ngày:
    30/03/2001
    Bài viết:
    1.783
    Đã được thích:
    0
    Chưa có phương pháp nào thật hay đâu bạn ạ. Hiện nay mới chỉ có một số thuật toán giải nhanh với một số dạng đường cong đặc biệt thôi. Còn bài toán tổng quát "đường cong bất kỳ" thì chưa có đâu.
  5. chungtm2000

    chungtm2000 Thành viên mới

    Tham gia ngày:
    07/01/2004
    Bài viết:
    487
    Đã được thích:
    0
    tôi thì không phải dân giỏi toán gì, nhưng có theo thành ý của tôi thì bạn có thể giải theo phương pháp tìm tiếp tuyến của đường cong. bằng cách giả sử tiếp điểm là (x0,y0), phương trình tiếp tuyến là y = kx+b, k=f''(x), kx+b= f(x) là hoành độ tiếp điểm..... có thể bạn nên suy nghĩ thêm
  6. aivoges

    aivoges Thành viên quen thuộc

    Tham gia ngày:
    06/11/2002
    Bài viết:
    413
    Đã được thích:
    0
    Các bác toán hay thích chính xác từng câu từng chữ. Em không phải dân chuyên toán nhưng cũng cố diễn giải thế này. Đường cong bất kì ở đây có thể hiểu là đường cong trơn, liên tục, có dạng f = f(x,y) và chỉ bao gồm các hàm toán học cơ bản như sin, cos, mũ, ... Không đến nỗi như hàm spline hay đường Bézier.
    Các bác cố gắng giúp cái nhé! Em nghĩ thường những bài toán thế này hay có phương pháp số (numerical method) để giải tổng quát. Thậm chí có một số phần mềm họ làm được, nhưng không biết bằng cách nào!
  7. aivoges

    aivoges Thành viên quen thuộc

    Tham gia ngày:
    06/11/2002
    Bài viết:
    413
    Đã được thích:
    0
    Cảm ơn bạn. Nhưng tôi không hiểu tiếp điểm thì có liên quan gì đến khoảng cách ngắn nhất. Mà bạn vẫn phải thay 1 điểm giả sử vào phương trình đường cong, rồi tính đạo hàm. Như thế thì không khác phương pháp tôi đề cập ở trên là mấy!
  8. altus

    altus Thành viên mới

    Tham gia ngày:
    29/05/2003
    Bài viết:
    1.503
    Đã được thích:
    1
    Bạn thử vào đây xem có bổ béo gì không nhé:
    http://www.magic-software.com/Distance.html
  9. aivoges

    aivoges Thành viên quen thuộc

    Tham gia ngày:
    06/11/2002
    Bài viết:
    413
    Đã được thích:
    0
    Cảm ơn bác! Đó là 1 resource tốt cho C++. Nhưng đó không phải là em cần vì đó là các công thức tính khoảng cách giữa các đối tượng hình học cơ bản như line, circle, ellipse...
  10. altus

    altus Thành viên mới

    Tham gia ngày:
    29/05/2003
    Bài viết:
    1.503
    Đã được thích:
    1
    Cái này cũng không giúp gì được bác à ?
    Distance from Point to a General Quadratic Curve or a General Quadric Surface

Chia sẻ trang này