Cách hiệu quả để tính độ cong tối đa của một spline hình khối


6

Tôi đã có một spline hình khối 2D (Bézier) và tôi có một đường đa giác đó là sự rời rạc của spline đó.

Có cách nào hiệu quả và đơn giản để thực hiện một cách tính độ cong tối đa của spline bằng cách sử dụng biểu diễn trơn tru của nó hoặc đa tuyến rời rạc không? Nó không phải chính xác vì nó là một trò chơi, một lỗi khoảng 10% sẽ hoàn toàn chấp nhận được.

Từ ngữ khác nhau: Tôi muốn biết: nếu tôi lái một chiếc xe lái xe với tốc độ không đổi dọc theo đường nối, mức độ tối đa tôi phải xoay vô lăng để ở trên đó là bao nhiêu?


1
Lấy đạo hàm của spline mà bạn biết không giúp được gì? Hai câu khác nhau về ý nghĩa. Bạn có loại spline? Giống Bézier?
Ác

Chắc chắn, đó là một spline Bezier khối. AFAIK không có cách phân tích để xác định độ cong tối đa của một spline hình khối.
dùng3049681

Spline khối có nghĩa là nó có hệ số khối. Gõ Bézier, ok. Đây là trường hợp 2D? Vỏ 3D? (Đối với xe hơi của nó khá 2D). Bước đầu tiên là để xóa những gì bạn có, và những gì bạn thực sự cần.
Ác

Cảm ơn, đó là trường hợp 2D, tôi đã có spline bezier và tôi đã có một Phiên bản rời rạc dưới dạng đa tuyến. Từ hai điều đó, tôi muốn xác định một cách đại khái độ cong tối đa.
dùng3049681

1
1. Bạn muốn định nghĩa " độ cong " như thế nào? 2. Lưu ý rằng câu hỏi thứ hai của bạn (về chiếc xe) không được xác định rõ, vì bạn chưa nói với chúng tôi bất cứ điều gì về tốc độ của chiếc xe thay đổi theo thời gian. Bạn có định xác định rằng chiếc xe đi với vận tốc không đổi? Nếu vậy, câu hỏi đó tương đương với việc hỏi tại điểm nào tối đa hóa độ lớn của đạo hàm thứ hai[x"(t)]2+[y"(t)]2, giả sử bạn chọn tham số hóa để vận tốc không đổi ( ). [x'(t)]2+[y'(t)]2= =1
DW

Câu trả lời:


2

Bước 1: Thể hiện các điểm trên spline một cách tham số, do đó spline là tập hợp các điểm có dạng , trong đó là một tham số. Ở đây đại diện cho -coordine (như là một hàm của tham số ) và đại diện cho -coordine. Vì đây là một spline hình khối, bạn có thể tìm thấy các hàm là các đa thức bậc ba với các hệ số đã biết cung cấp biểu thức tham số này.(x(t),y(t))tx(t)xty(t)yx(t),y(t)

Bước 2: Sử dụng công thức trên Wikipedia để tính toán độ cong, đưa ra biểu diễn tham số của đường cong. Điều này cung cấp cho bạn một công thức cho độ cong như là một hàm của , cụ thể là, . Lưu ý rằng vì và là đa thức bậc ba, bạn có thể tính toán rõ ràng các đạo hàm thứ nhất và thứ hai của chúng, do đó bạn có thể tính toán một biểu thức rõ ràng cho , ví dụ, đối với độ cong là hàm của .tκ(t)x(t)y(t)κ(t)t

Bước 3: Tìm giá trị của tối đa hóa . Lưu ý rằng chúng ta hiện đang xử lý một hàm , tức là chúng ta đang ở trong trường hợp một chiều. Do đó, chúng ta có thể tìm thấy số lượng tối đa bằng cách sử dụng bất kỳ phương thức nào: phương pháp giảm độ dốc, phương pháp của Newton hoặc một số phương thức khác.tκ(t)κ:RR

Ngoài ra, bạn có thể tính toán một cách phân tích đạo hàm của và sau đó giải phương trình cho . Điều này có thể cho phép một giải pháp phân tích xác định danh sách cực đại ứng cử viên của . Đảm bảo cũng kiểm tra các điểm cuối (giới hạn dưới và trên cho ). Đánh giá tại mỗi ứng cử viên và chọn một ứng dụng làm cho giá trị của càng lớn càng tốt.κ(t)κ'(t)= =0tκ(t)tκκ(t)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.