Bagaimana saya bisa memusatkan poin di bidang kelengkungan yang lebih tinggi?

11

Bagaimana saya bisa mendistribusikan titik pada permukaan yang tersirat, untuk berkonsentrasi mereka lebih padat di daerah kelengkungan yang lebih tinggi?

Saya telah mempertimbangkan untuk menambahkan poin secara acak dan menolak poin yang tidak diperlukan berdasarkan pada kelengkungan, tetapi saya ingin tahu apakah ada pendekatan yang lebih baik dalam memberikan distribusi yang lebih merata pada area yang memiliki kelengkungan yang sama, sambil tetap memberikan kepadatan yang lebih tinggi yang diperlukan pada tinggi daerah kelengkungan.

Saya melihat secara khusus menggunakan titik-titik ini untuk triangulasi permukaan, dan saya tidak ingin membuat lebih banyak segitiga daripada yang saya butuhkan untuk bagian yang relatif datar.


Ini akan diterapkan pada bentuk dengan turunan yang dikenal sehingga kelengkungan pada titik tertentu dapat dihitung.

Ini tidak perlu menjadi pendekatan waktu nyata.

trichoplax
sumber
Apakah Anda mencari cara yang lebih akurat untuk mengambil sampel dari distribusi, tanpa uji montecarlo yang saya maksud? Jika Anda tidak terlalu peduli tentang pendekatan komputasi (yaitu Anda sedang mencari pendekatan yang akurat daripada upaya komputasi) saya bisa punya solusi, tetapi itu bisa dioptimalkan tentu saja.
user8469759
3
Apakah Anda tahu fungsi analitik atau dapatkah Anda hanya mengambil sampelnya? Apakah Anda tahu turunan analitiknya?
Julien Guertault
@JulienGuertault Apakah hasil edit saya menjelaskan?
trichoplax
@Lukkio Saya ingin akurasi terlebih dahulu, kemudian optimasi bisa datang setelah pendekatan bekerja.
trichoplax
1
Anda mungkin ingin melihat ke dalam metode elemen hingga , yang juga menggunakan triangulasi (atau lebih umum: simplices) dan sering menghadapi masalah memerlukan kepadatan pengambilan sampel yang lebih tinggi di wilayah tertentu. Mereka pasti telah mengembangkan algoritma untuk ini.
Wrzlprmft

Jawaban:

11

Ide yang akan saya coba terapkan adalah sebagai berikut: Saya membuat contoh untuk kurva, tetapi harus langsung untuk aplikasi untuk permukaan.

Katakanlah kita memiliki kurva parametrized secara seragam. Katakanlah parameter kurva adalah s . Tujuan Anda adalah mengambil titik sampel yang sesuai dengan nilai s sedemikian sehingga kelengkungannya tinggi.γss

cs|c|C(s)

s0,s1,,sn

Penerapan metode ini pada permukaan harus lurus, karena pada dasarnya Anda memiliki fungsi distribusi kumulatif dua dimensi, tetapi masalah pengambilan sampelnya persis sama.

Hanya untuk memberikan beberapa detail, pada dasarnya pengambilan sampel dari distribusi mengingat fungsi kumulatif melibatkan dua langkah:

  1. [0,1]k

  2. C(s)=k

Pendekatan ini tepat, tentu saja mahal, tetapi jika Anda menyukai pendekatan seperti itu, Anda dapat bekerja pada optimasi.

pengguna8469759
sumber
1
Belum ada dukungan lateks.
joojaa
Saya sedang mencari sesuatu yang dapat digunakan dengan permukaan implisit bahkan jika itu tidak memiliki parameterisasi. Apakah selalu mungkin untuk membuat parameter suatu permukaan implisit jika turunannya diketahui?
trichoplax
Setiap pertanyaan yang akan mendapat manfaat dari MathJax untuk formula dapat ditambahkan ke jawaban meta ini untuk meningkatkan peluang kita mendapatkan MathJax. (Yang ini sudah ditambahkan.)
trichoplax
Ingat bahwa yang Anda butuhkan adalah fungsi distribusi yang berasal dari kelengkungan, Anda bilang Anda bisa mendapatkan semuanya (dengan cara apa jenis permukaan yang Anda dapatkan? Yaitu persamaan). Ngomong-ngomong ... apa maksudmu dengan "derivatif dikenal"? Anda tahu formula turunannya yang eksplisit? atau itu implisit juga? (Yaitu dijelaskan dengan persamaan diferensial)?
user8469759
1
Ngomong-ngomong ... jika kurva / permukaan adalah algebric (maksud saya dinyatakan oleh staf polinomial atau rasional) ada metode komputasi berdasarkan bspline / nurbs yang menjelaskan cara melakukan parametrization dari kurva tersebut. Saya melihat-lihat di sini docs.lib.purdue.edu/cgi/… , metode lebih lanjut (bahkan lanjutan) dapat ditemukan di salah satu buku favorit saya di Nurbs (The NURBS book by Tiller).
user8469759
2

Titik awal yang baik adalah kertas klasik Menggunakan partikel untuk sampel dan mengontrol permukaan implisit , yang diterbitkan dalam SIGGRAPH 1994.

Simulasi partikel sederhana yang dijelaskan dalam makalah Sampling objek implisit dengan sistem partikel berbasis fisik ( Computers & Graphics , 1996) untuk kurva juga berfungsi untuk permukaan; lihat Tekstur Dinamis untuk Permukaan Tersirat sebagai contoh.

Untuk contoh yang lebih baru, lihat Bentuk dan nada penggambaran untuk permukaan implisit ( Komputer & Grafik , 2011).

lhf
sumber
2

Pendekatan naif berikut ini mungkin tidak akan menghasilkan poin yang didistribusikan dengan baik seperti yang diberikan oleh Lhf , tetapi akan lebih mudah untuk diimplementasikan dan lebih cepat secara komputasi:

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

      • jika ya, buang saja.
      • xzyzzA

A

Wrzlprmft
sumber