Gradien Diskrit?

Aug 22 2020

Saya mencoba memahami bagaimana mendapatkan gradien diskrit dari mesh yang digunakan sebagai masukan dari beberapa fungsi $f$. Dengan kata lain untuk setiap simpul$v$ ada kuantitas skalar $s$ terkait dengannya.

Saya mencoba untuk memahami cara menghitung gradien diskrit $f$di permukaan. Untuk tujuan itu saya memeriksa slide ini:

http://www.hao-li.com/cs599-ss2015/slides/Lecture04.1.pdf

Tapi itu tidak mengklik. Notasi bijak yang saya asumsikan hanyalah upaya untuk memformalkan "kami tidak tahu apa nilai pada segitiga itu, jadi kami hanya akan melakukan interpolasi linier menggunakan koordinat Barycentric".

Tapi kemudian slide mencapai rumus akhir ini untuk gradien:

Saya agak mengerti bagian bawah, yang sepertinya mengatakan basis gradien di $i$ adalah sebuah vektor ortogonal ke sisi berlawanan dibagi dengan 2 kali luas segitiga (saya asumsikan), tapi bagaimana rumus atas diturunkan?

Jawaban

1 NathanReed Sep 23 2020 at 01:06

Ini mendefinisikan gradien dalam istilah koordinat barycentric. Ini mirip dengan penurunan dalam jawaban ini , hanya disusun ulang sedikit secara aljabar menggunakan fakta bahwa tiga koordinat barycentric berjumlah satu.$$ \begin{aligned} f(\mathbf{u}) &= f_i B_i(\mathbf{u}) + f_j B_j(\mathbf{u}) + f_k B_k(\mathbf{u}) \\ &= f_i (1 - B_j(\mathbf{u}) - B_k(\mathbf{u})) + f_j B_j(\mathbf{u}) + f_k B_k(\mathbf{u}) \\ &= f_i + (f_j - f_i) B_j(\mathbf{u}) + (f_k - f_i) B_k(\mathbf{u}) \\ \nabla f(\mathbf{u}) &= (f_j - f_i) \nabla B_j(\mathbf{u}) + (f_k - f_i) \nabla B_k(\mathbf{u}) \\ \end{aligned} $$

xer-rex Aug 22 2020 at 14:42

Sebuah area terdiri dari 2 komponen, gradien yang dinormalisasi dari basis_i memberikan laju konstan ke arah salah satu komponen yang hanya bergantung pada simpul.

Rumus yang disorot adalah keadaan antara untuk mengubah fungsi sepenuhnya menggunakan simpul.