เมนูนำทาง
ส่วนสว่างจัดจ้า แบบจำลองพื้นผิวในระดับจุลภาคมีหลายแบบจำลองที่แตกต่างกันสำหรับการจำลองการกระเจิงของพื้นผิวระดับจุลภาค ส่วนใหญ่จะมองว่าแนวฉากของผิวในระดับจุลภาคนั้นมีการแจกแจงอย่างสม่ำเสมอรอบแนวฉากของพื้นผิวระดับมหภาค แบบจำลองแบบนี้เรียกว่า ไอโซทรอปิก (isotropic) ถ้าแนวฉากของพื้นผิวในระดับจุลภาคมีการแจกแจงไปตามทิศทางใดทิศทางหนึ่งมากกว่าภายใต้การตั้งค่าบางอย่าง แบบจำลองการแจกแจงเรียกว่า แอนไอโซทรอปิก (anisotropic)
ในแบบจำลองการสะท้อนแบบฟ็อง ความสว่างของส่วนสว่างจัดจ้าคำนวณได้โดย
k s p e c = ‖ R ‖ ‖ V ‖ cos n β = ( R ^ ⋅ V ^ ) n {\displaystyle k_{\mathrm {spec} }=\|R\|\|V\|\cos ^{n}\beta =({\hat {R}}\cdot {\hat {V}})^{n}}โดยที่ R คือเวกเตอร์ที่ชี้ไปยังมุมที่มีการสะท้อนแสงจัดจ้าแบบสมบูรณ์ ส่วน V คือเวกเตอร์ที่ชี้ไปยังมุมมอง ค่าคงตัว n คือเลขชี้กำลังของฟ็อง ซึ่งเป็นค่าที่ให้ผู้ใช้เลือกได้ซึ่งจะควบคุมสมบัติความเรียบลื่นปรากฏของพื้นผิว
ในแบบจำลองการสะท้อนแบบบลิน–ฟ็องความสว่างของส่วนสว่างจัดจ้าคำนวณได้โดย
k s p e c = ‖ N ‖ ‖ H ‖ cos n β = ( N ^ ⋅ H ^ ) n {\displaystyle k_{\mathrm {spec} }=\|N\|\|H\|\cos ^{n}\beta =({\hat {N}}\cdot {\hat {H}})^{n}}โดย N คือแนวฉากของพื้นผิวเรียบลื่น และ H คือมุมกึ่งกลางระหว่างเวกเตอร์รังสี L และเวกเตอร์มุมมอง V
สมการเหล่านี้บ่งบอกเป็นนัยว่าการแจกแจงของแนวฉากพื้นผิวในระดับจุลภาคมีการแจกแจงแบบปรกติ หรือมีการแจกแจงแบบเพียร์สันประเภท 2[1] อย่างไรก็ตาม แม้ว่าแบบจำลองนี้จะพิสูจน์ได้ว่ามีประโยชน์และให้ผลลัพธ์ที่น่าเชื่อถือ แต่ก็ไม่ใช่แบบจำลองที่ยืนพื้นจากทฤษฎีทางฟิสิกส์
สามารถสร้างแบบจำลองการแจกแจงของแนวฉากพื้นผิวในระดับจุลภาคที่ดีขึ้นเล็กน้อยโดยใช้ การแจกแจงแบบปกติ โดยความสว่างของส่วนสว่างจัดจ้าสามารถคำนวณได้โดยใช้ฟังก์ชันนี้
k s p e c = e − ( ∠ ( N , H ) m ) 2 {\displaystyle k_{spec}=e^{-\left({\frac {\angle (N,H)}{m}}\right)^{2}}}โดยที่ m คือค่าคงตัวที่มีค่าระหว่าง 0 ถึง 1 ซึ่งแสดงถึงความเรียบลื่นปรากฏของพื้นผิว[2]
แบบจำลองพื้นผิวในระดับจุลภาคที่ยืนพื้นตามหลักฟิสิกส์คือการแจกแจงแบบเบ็กมัน (Beckmann distribution) แม้ว่าฟังก์ชันนี้จะให้ผลลัพธ์ที่แม่นยำมาก แต่ก็กินทรัพยากรในการคำนวณมาก
k s p e c = 1 4 m 2 cos 4 ( N , H ) e − ( tan ( N , H ) m ) 2 {\displaystyle k_{spec}={\frac {1}{4m^{2}\cos ^{4}(N,H)}}e^{-\left({\frac {\tan(N,H)}{m}}\right)^{2}}}โดยที่ m คือความเอียงเฉลี่ยของพื้นผิวในระดับจุลภาค[3]
การแจกแจงแบบแอนไอโซทรอปิกของไฮดริช–ไซเดิล (Heidrich–Seidel anisotropic distribution) เป็นการแจกแจงแบบแอนไอโซทรอปิกอย่างง่ายและอิงตามแบบจำลองของฟ็อง ใช้สำหรับจำลองพื้นผิวที่มีร่องหรือเส้นใยเล็ก ๆ ขนานกัน เช่น โลหะขัดเงา ผ้าต่วน หรือ เส้นผม ความสว่างของส่วนสว่างจัดจ้าที่คำนวณโดยใช้การแจกแจงแบบนี้คือ
k s p e c = [ sin ( L , T ) sin ( V , T ) − cos ( L , T ) cos ( V , T ) ] n {\displaystyle k_{spec}=\left[\sin(L,T)\sin(V,T)-\cos(L,T)\cos(V,T)\right]^{n}}โดยที่ n คือเลขชี้กำลังของฟ็อง V คือทิศทางการมอง L คือทิศทางของลำแสง และ T คือทิศทางของร่องขนานหรือเส้นใยที่จุดหนึ่งบนพื้นผิว
การแจกแจงแบบแอนไอโซทรอปิกของวอร์ด (Ward anisotropic distribution) ใช้พารามิเตอร์ที่ผู้ใช้ควบคุมได้สองตัวคือ αx และ αy สำหรับการควบคุมความเป็นแอนไอโซทรอปิก หากพารามิเตอร์ทั้งสองมีค่าเท่ากัน แสดงว่าเป็นส่วนสว่างจัดจ้าแบบไอโซทรอปิก
สูตรความสว่างสำหรับการแจกแจงแบบนี้คือ
k s p e c = 1 ( N ⋅ L ) ( N ⋅ V ) N ⋅ L 4 α x α y exp [ − 2 ( H ⋅ X α x ) 2 + ( H ⋅ Y α y ) 2 1 + ( H ⋅ N ) ] {\displaystyle k_{spec}={\frac {1}{\sqrt {(N\cdot L)(N\cdot V)}}}{\frac {N\cdot L}{4\alpha _{x}\alpha _{y}}}\exp \left[-2{\frac {\left({\frac {H\cdot X}{\alpha _{x}}}\right)^{2}+\left({\frac {H\cdot Y}{\alpha _{y}}}\right)^{2}}{1+(H\cdot N)}}\right]}ถ้า N-L < 0 หรือ N-E < 0 แสดงว่าพจน์การสะท้อนแสงจัดจ้าเป็นศูนย์ เวกเตอร์ทั้งหมดในที่นี้เป็นเวกเตอร์หน่วย เวกเตอร์ V คือเวกเตอร์จากจุดหนึ่งบนพื้นผิวไปยังจุดสังเกตการณ์ L คือทิศทางจากจุดบนพื้นผิวไปยังแหล่งกำเนิดแสง และ H คือทิศทางครึ่งมุม N คือแนวฉากพื้นผิว ส่วน X และ Y เป็นเวกเตอร์สองตัวที่ตั้งฉากกับระนาบแนวฉากซึ่งระบุทิศทางของความเป็นแอนไอโซทรอปิก
แบบจำลองของคุก-ทอร์เรนซ์ (Cook–Torrance model)[4] จะคำนวณส่วนสว่างจัดจ้าในรูปของ
k s p e c = D F G E ⋅ N {\displaystyle k_{spec}={\frac {DFG}{E\cdot N}}}โดยในที่นี้ D คือพจน์การแจกแจงของเบ็กมัน
D = e − ( tan α m ) 2 4 m 2 cos 4 α {\displaystyle D={\frac {e^{-\left({\frac {\tan \alpha }{m}}\right)^{2}}}{4m^{2}\cos ^{4}\alpha }}}และ F คือพจน์ของแฟรแนล
F = ( 1.0 + E . N ) λ {\displaystyle F=(1.0+E.N)^{\lambda }\,}G คือพจน์การลดทอนเชิงเรขาคณิต ซึ่งอธิบายถึงการให้แสงเงาในตัวเองภายในพื้นผิวระดับจุลภาค ซึ่งคำนวณโดย
G = min ( 1 , 2 ( H ⋅ N ) ( E ⋅ N ) E ⋅ H , 2 ( H ⋅ N ) ( L ⋅ N ) E ⋅ H ) {\displaystyle G=\min \left(1,{\frac {2(H\cdot N)(E\cdot N)}{E\cdot H}},{\frac {2(H\cdot N)(L\cdot N)}{E\cdot H}}\right)}ในสูตรเหล่านี้ E คือเวกเตอร์มุมมองของกล้องหรือจุดสังเกตการณ์ ในขณะที่ H คือเวกเตอร์มุมกึ่งกลางระหว่างจุดสังเกตการณ์กับแหล่งกำเนิดแสง ส่วน L คือเวกเตอร์ที่ชี้ไปยังแหล่งกำเนิดแสง และ N คือเวกเตอร์แนวฉาก ส่วน α คือมุมระหว่าง H และ N
หากมีความจำเป็นเราสามารถคำนวณโดยใช้ค่าเฉลี่ยแบบถ่วงน้ำหนักของการแจกแจงแบบต่าง ๆ ได้ (โดยปกติจะใช้ฟังก์ชันการแจกแจงแบบเดียวกันแต่มีค่า m และ n ต่างกัน) ตัวอย่างเช่น สร้างแบบจำลองพื้นผิวที่เรียบและมีความขรุขระเล็กน้อยแทนที่จะสร้างแบบจำลองพื้นผิวที่ขรุขระไปทั้งหมด
เมนูนำทาง
ส่วนสว่างจัดจ้า แบบจำลองพื้นผิวในระดับจุลภาคใกล้เคียง
ส่วนสว่างจัดจ้า ส่วนสูงของประธานาธิบดีสหรัฐ ส่วนสารภาพบาป สวนสัตว์ สวนสาธารณะ สวนสัตว์ดุสิต ส่วนต่อประสานสมองกับคอมพิวเตอร์ สวนสราญรมย์ สวนสมเด็จพระนางเจ้าสิริกิติ์ฯ ส่วนโค้งเอออร์ตาแหล่งที่มา
WikiPedia: ส่วนสว่างจัดจ้า http://dicklyon.com/tech/Graphics/Phong_TR-Lyon.pd... http://inst.eecs.berkeley.edu/~cs283/sp13/lectures...