Gradient ไม่ต่อเนื่อง?

Aug 22 2020

ฉันกำลังพยายามทำความเข้าใจวิธีรับการไล่ระดับสีแบบไม่ต่อเนื่องของตาข่ายที่ใช้เป็นอินพุตของฟังก์ชันบางอย่าง $f$. กล่าวอีกนัยหนึ่งสำหรับทุกจุดยอด$v$ มีปริมาณสเกลาร์ $s$ เกี่ยวข้องกับมัน

ฉันพยายามทำความเข้าใจวิธีคำนวณการไล่ระดับสีแบบแยกของ $f$บนพื้นผิว. เพื่อจุดประสงค์นั้นฉันกำลังตรวจสอบสไลด์เหล่านี้:

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

แต่มันไม่คลิก สัญกรณ์ที่ชาญฉลาดที่ฉันคิดว่าเป็นเพียงความพยายามในการทำให้เป็นทางการ "เราไม่รู้ว่าค่าของสามเหลี่ยมจะเป็นเท่าใดดังนั้นเราจะสอดแทรกเชิงเส้นโดยใช้พิกัด Barycentric"

แต่จากนั้นสไลด์ก็มาถึงสูตรสุดท้ายสำหรับการไล่ระดับสี:

ฉันเข้าใจส่วนล่างซึ่งดูเหมือนจะบอกว่าเป็นพื้นฐานการไล่ระดับสีที่ $i$ เป็นเวกเตอร์ที่ตั้งฉากกับขอบตรงข้ามหารด้วย 2 เท่าของพื้นที่ของสามเหลี่ยม (ฉันถือว่า) แต่สูตรบนสุดได้มาอย่างไร?

คำตอบ

1 NathanReed Sep 23 2020 at 01:06

เป็นการกำหนดการไล่ระดับสีในรูปของพิกัด barycentric มันคล้ายกับการหาที่มาในคำตอบนี้เพียงจัดเรียงใหม่ในเชิงพีชคณิตเล็กน้อยโดยใช้ความจริงที่ว่าพิกัด barycentric ทั้งสามรวมเป็นหนึ่ง$$ \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

พื้นที่ประกอบด้วย 2 องค์ประกอบการไล่ระดับปกติของพื้นฐาน _i ให้อัตราคงที่ในทิศทางของส่วนประกอบใดองค์ประกอบหนึ่งซึ่งขึ้นอยู่กับจุดยอดเท่านั้น

สูตรที่ไฮไลต์คือสถานะกลางของการเปลี่ยนฟังก์ชันใช้จุดยอดอย่างเต็มที่