Làm thế nào tôi có thể tập trung điểm trong các khu vực có độ cong cao hơn?


11

Làm cách nào tôi có thể phân phối các điểm trên một bề mặt ngầm, để tập trung chúng dày đặc hơn ở các khu vực có độ cong cao hơn?

Tôi đã xem xét việc thêm điểm ngẫu nhiên và từ chối các điểm không bắt buộc dựa trên độ cong, nhưng tôi muốn biết liệu có cách tiếp cận nào tốt hơn để phân phối đồng đều hơn trên các khu vực có độ cong tương tự hay không, trong khi vẫn cho mật độ cao hơn yêu cầu cao vùng cong.

Tôi đang xem xét cụ thể việc sử dụng các điểm này cho hình tam giác bề mặt và tôi không muốn tạo ra nhiều hình tam giác hơn tôi cần cho các phần tương đối bằng phẳng.


Điều này sẽ được áp dụng cho các hình dạng với một đạo hàm đã biết để có thể tính được độ cong tại một điểm nhất định.

Đây không cần phải là một cách tiếp cận thời gian thực.


Bạn đang tìm kiếm một cách chính xác hơn để lấy mẫu từ một bản phân phối, mà không có ý nghĩa kiểm tra montecarlo? Nếu bạn không quan tâm nhiều đến cách tiếp cận tính toán (nghĩa là bạn đang tìm kiếm một cách tiếp cận chính xác thay vì nỗ lực tính toán) tôi có thể có một giải pháp, nhưng tất nhiên nó có thể được tối ưu hóa.
dùng8469759

3
Bạn có biết chức năng phân tích hay bạn chỉ có thể lấy mẫu? Bạn có biết đạo hàm phân tích của nó?
Julien Guertault

@JulienGuertault Chỉnh sửa của tôi có làm rõ không?
trichoplax

@Lukkio Tôi muốn độ chính xác trước, sau đó tối ưu hóa có thể đến sau khi phương pháp này hoạt động.
trichoplax

1
Bạn có thể muốn xem xét các phương pháp phần tử hữu hạn , cũng sử dụng phương pháp tam giác hóa (hay nói chung hơn là: đơn giản) và thường phải đối mặt với vấn đề cần mật độ lấy mẫu cao hơn ở các vùng được chọn. Họ nhất định đã phát triển các thuật toán cho việc này.
Wrzlprmft

Câu trả lời:


11

Ý tưởng tôi sẽ thử áp dụng sẽ như sau: Tôi làm ví dụ cho đường cong, nhưng nó phải đơn giản cho ứng dụng cho bề mặt.

Giả sử chúng ta có một đường cong được tham số hóa đồng đều. Giả sử tham số của đường cong là . Mục tiêu của bạn là lấy mẫu điểm tương ứng với giá trị của sao cho độ cong cao.γSS

Nếu bạn nhận được độ lớn của độ cong , đây cũng sẽ là hàm của s . Vì vậy, nếu bạn bình thường hóa chức năng | c | , bạn sẽ nhận được phân phối xác suất. Nếu bạn có được tích phân của phân phối đó, bạn sẽ có phân phối tích lũy. Hãy gọi hàm tích lũy này là C ( s ) .cS|c|C(s)

Vấn đề lấy mẫu từ phân phối được cung cấp bởi hàm tích lũy đã được biết rõ, vì vậy về cơ bản một khi bạn đã lấy mẫu một tập hợp các giá trị , giá trị đó sẽ liên quan đến các điểm ưa thích.s0,s1,,sn

Việc áp dụng phương pháp này cho trường hợp bề mặt phải thẳng, vì về cơ bản bạn có hàm phân phối tích lũy hai chiều, nhưng vấn đề lấy mẫu hoàn toàn giống nhau.

Chỉ cần đưa ra một số chi tiết, về cơ bản, nó được lấy mẫu từ một phân phối được cung cấp hàm tích lũy bao gồm hai bước:

  1. lấy một giá trị ngẫu nhiên trong khoảng , giả sử[0,1]k

  2. giải phương trình .C(s)=k

Cách tiếp cận này là chính xác, tất nhiên nó rất tốn kém, nhưng nếu bạn thích cách tiếp cận như vậy, bạn có thể làm việc để tối ưu hóa.


1
Không có hỗ trợ latex nào.
joojaa

Tôi đang tìm kiếm thứ gì đó có thể được sử dụng với bề mặt ẩn ngay cả khi nó không có tham số hóa. Có phải luôn luôn có thể tham số hóa một bề mặt ẩn nếu đạo hàm được biết đến?
trichoplax

Bất kỳ câu hỏi nào có lợi từ MathJax cho các công thức đều có thể được thêm vào câu trả lời meta này để tăng cơ hội nhận MathJax của chúng tôi. (Cái này đã được thêm vào.)
trichoplax

Hãy nhớ rằng những gì bạn cần là hàm phân phối xuất phát từ độ cong, bạn nói rằng bạn có thể lấy được mọi thứ (bằng cách nào bạn có loại bề mặt nào? Tức là phương trình). Dù sao ... bạn có ý nghĩa gì với "phái sinh được biết đến"? Bạn có biết một công thức rõ ràng của đạo hàm? hoặc nó là ngầm quá? (tức là mô tả bằng phương trình vi phân)?
dùng8469759

1
Nhân tiện ... nếu đường cong / bề mặt là al xoay (ý tôi được biểu thị bởi nhân viên đa thức hoặc lý trí), có các phương pháp tính toán dựa trên bspline / Nurbs giải thích cách thực hiện tham số hóa các đường cong đó. Tôi đã xem lướt qua docs.lib.purdue.edu/cgi/ , phương pháp tiếp theo (thậm chí nâng cao) có thể được tìm thấy trong một trong những cuốn sách yêu thích của tôi về Nurbs (Cuốn sách NURBS của Tiller).
dùng8469759

3

Điểm khởi đầu tốt là bài báo cổ điển Sử dụng các hạt để lấy mẫu và kiểm soát các bề mặt ẩn , được xuất bản trong SIGGRAPH 1994.

Một mô phỏng hạt đơn giản được mô tả trong bài viết Lấy mẫu các đối tượng ngầm với các hệ thống hạt dựa trên vật lý ( Máy tính & Đồ họa , 1996) cho các đường cong cũng hoạt động cho các bề mặt; xem Kết cấu động cho các bề mặt tiềm ẩn để biết ví dụ.

Để biết ví dụ gần đây hơn, hãy xem mô tả hình dạng và tông màu cho các bề mặt ẩn ( Máy tính & Đồ họa , 2011).


2

Cách tiếp cận ngây thơ sau đây có thể sẽ không mang lại các điểm phân phối độc đáo như các điểm được đưa ra bởi Lhf , nhưng nó sẽ dễ thực hiện hơn và tính toán nhanh hơn:

xyd(x,y)xyxy

A

  1. xd(x,x)

  2. A

  3. A

    1. xyA
    2. zd(x,y)A
    3. zd(x,y)A

      • nếu có, loại bỏ nó.
      • xzyzzA

A

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.