ผลต่างระหว่างรุ่นของ "แนวฉาก"

จากวิกิพีเดีย สารานุกรมเสรี
เนื้อหาที่ลบ เนื้อหาที่เพิ่ม
Octahedron80 (คุย | ส่วนร่วม)
ไม่มีความย่อการแก้ไข
Octahedron80 (คุย | ส่วนร่วม)
แนวฉากเป็นเส้นตรงหรือเวกเตอร์ดังนั้นมันจึงไม่ใช่ค่า
บรรทัด 1: บรรทัด 1:
[[ไฟล์:Surface normal illustration.png|right|thumb|ค่านอร์มอลสำหรับจุดบนพื้นผิวหาได้จากค่านอร์มอลของระนาบสัมผัสที่สัมผัสพื้นผิวตรงจุดนั้น]]
[[ไฟล์:Surface normal illustration.png|right|thumb|แนวฉากสำหรับจุดบนพื้นผิวหาได้จากเส้นแนวฉากของระนาบสัมผัสที่สัมผัสพื้นผิวตรงจุดนั้น]]
[[ไฟล์:Normal vectors2.svg|thumb|right|ภาพแสดงนอร์มอลทั้งสองค่าของโพลีกอน]]
[[ไฟล์:Normal vectors2.svg|thumb|right|ภาพแสดงนอร์มอลทั้งสองค่าของโพลีกอน]]
'''แนวฉาก''' ({{lang-en|normal}}) ในทาง[[เรขาคณิต]] หมายถึงวัตถุอย่างเช่น[[เส้นตรง]]หรือ[[เวกเตอร์]]ที่[[ตั้งฉาก]]กับวัตถุที่กำหนด ตัวอย่างเช่น กรณีสองมิติ '''เส้นแนวฉาก''' (normal line) ของเส้นโค้ง คือเส้นตรงที่ตั้งฉากกับ[[เส้นสัมผัส]]เส้นโค้ง ณ จุดนั้น
'''แนวฉาก''' ({{lang-en|normal}}) ในทาง[[เรขาคณิต]] หมายถึงวัตถุอย่างเช่น[[เส้นตรง]]หรือ[[เวกเตอร์]]ที่[[ตั้งฉาก]]กับวัตถุที่กำหนด ตัวอย่างเช่น กรณีสองมิติ '''เส้นแนวฉาก''' (normal line) ของเส้นโค้ง คือเส้นตรงที่ตั้งฉากกับ[[เส้นสัมผัส]]เส้นโค้ง ณ จุดนั้น
บรรทัด 5: บรรทัด 5:
กรณีสามมิติ '''แนวฉากของพื้นผิว''' (surface normal) ที่จุด ''P'' คือ[[เวกเตอร์]]ที่ตั้งฉากกับ[[ระนาบสัมผัส]]พื้นผิว ณ จุด ''P'' ซึ่งเรียกว่า '''เวกเตอร์แนวฉาก''' (normal vector)
กรณีสามมิติ '''แนวฉากของพื้นผิว''' (surface normal) ที่จุด ''P'' คือ[[เวกเตอร์]]ที่ตั้งฉากกับ[[ระนาบสัมผัส]]พื้นผิว ณ จุด ''P'' ซึ่งเรียกว่า '''เวกเตอร์แนวฉาก''' (normal vector)


ใน[[คอมพิวเตอร์กราฟิกส์สามมิติ]]นิยมใช้ค่านอร์มอลกำหนดมุมระหว่างทิศทางที่พื้นผิวหันไปทำกับทิศทางของต้นกำเนิดแสงเพื่อเพื่อคำนวณการสะท้อนแบบ [[flat shading]] หรือใช้กำหนดที่มุมแต่ละมุมของพื้นผิวโพลีกอน (vertex normal) เพื่อใช้เกลี่ยค่านอร์มอลของสองพื้นผิวที่ติดกันเข้าหากัน ทำให้พื้นผิวที่ทำมุมกันสามารถสะท้อนแสดงได้เหมือนกับเป็นพื้นผิวเรียบโค้ง ([[phong shading]])
ใน[[คอมพิวเตอร์กราฟิกส์สามมิติ]]นิยมใช้แนวฉากกำหนดมุมระหว่างทิศทางที่พื้นผิวหันไปทำกับทิศทางของต้นกำเนิดแสงเพื่อเพื่อคำนวณการสะท้อนแบบ [[flat shading]] หรือใช้กำหนดที่มุมแต่ละมุมของพื้นผิวโพลีกอน (vertex normal) เพื่อใช้เกลี่ยแนวฉากของสองพื้นผิวที่ติดกันเข้าหากัน ทำให้พื้นผิวที่ทำมุมกันสามารถสะท้อนแสดงได้เหมือนกับเป็นพื้นผิวเรียบโค้ง ([[phong shading]])


== การคำนวณหาค่านอร์มอล ==
== การคำนวณหาแนวฉาก ==


การหาค่านอร์มอลของโพลีกอน สามารถหาได้จาก[[ผลคูณไขว้]]ของเวกเตอร์ขอบสองด้านที่ไม่ขนานกันของโพลีกอน ค่านอร์มอลจะมีสองค่าชี้ไปในทิศทางตรงข้ามกัน จึงอาจใช้[[กฎมือขวา]]ร่วมกำหนดทิศทางที่นอร์มอลหรือหน้าของโพลีกอนหันไป
การหาแนวฉากของโพลีกอน สามารถหาได้จาก[[ผลคูณไขว้]]ของเวกเตอร์ขอบสองด้านที่ไม่ขนานกันของโพลีกอน แนวฉากจะมีสองค่าชี้ไปในทิศทางตรงข้ามกัน จึงอาจใช้[[กฎมือขวา]]ร่วมกำหนดทิศทางที่นอร์มอลหรือหน้าของโพลีกอนหันไป


ถ้า[[ระนาบ]]เกิดจาก[[สมการ]] <math>ax+by+cz=d</math> [[เวกเตอร์]] <math>(a, b, c)</math> จะเป็นค่านอร์มอลของระนาบ ถ้าพื้นผิว(ที่อาจไม่เรียบ) S ถูก[[พาราเมทไทรเซชัน|พาราเมไทรซ์]]ใน[[ระบบพิกัดเชิงเส้นโค้ง]] '''x'''(''s'', ''t'') โดย[[จำนวนจริง]] s และ t ค่านอร์มอลจะหาได้จากผลคูณไขว้ของ[[อนุพันธ์บางส่วน]]
ถ้า[[ระนาบ]]เกิดจาก[[สมการ]] <math>ax+by+cz=d</math> [[เวกเตอร์]] <math>(a, b, c)</math> จะเป็นแนวฉากของระนาบ ถ้าพื้นผิว(ที่อาจไม่เรียบ) S ถูก[[พาราเมทไทรเซชัน|พาราเมไทรซ์]]ใน[[ระบบพิกัดเชิงเส้นโค้ง]] '''x'''(''s'', ''t'') โดย[[จำนวนจริง]] s และ t แนวฉากจะหาได้จากผลคูณไขว้ของ[[อนุพันธ์บางส่วน]]


:<math>{\partial \mathbf{x} \over \partial s}\times {\partial \mathbf{x} \over \partial t}.</math>
:<math>{\partial \mathbf{x} \over \partial s}\times {\partial \mathbf{x} \over \partial t}.</math>
บรรทัด 21: บรรทัด 21:
[[ไฟล์:Vertex normal กับการเปลี่ยนแปลงการสะท้อนของพื้นผิว.png|right|thumb|300px|vertex normal กับการเปลี่ยนแปลงการสะท้อนของพื้นผิว '''(a)''' vertex normal ชี้ไปทิศทางเดียวกับ surface normal '''(b)''' vertex normal ชี้ไปในทิศทางเดียวกับ vertex normal ของพื้นผิวข้างเคียง การสะท้อนแสงจึงต่อเนื่องเสมือนเป็นพื้นผิวเดียวกัน]]
[[ไฟล์:Vertex normal กับการเปลี่ยนแปลงการสะท้อนของพื้นผิว.png|right|thumb|300px|vertex normal กับการเปลี่ยนแปลงการสะท้อนของพื้นผิว '''(a)''' vertex normal ชี้ไปทิศทางเดียวกับ surface normal '''(b)''' vertex normal ชี้ไปในทิศทางเดียวกับ vertex normal ของพื้นผิวข้างเคียง การสะท้อนแสงจึงต่อเนื่องเสมือนเป็นพื้นผิวเดียวกัน]]


ในงาน[[คอมพิวเตอร์กราฟิกส์สามมิติ]] นอร์มอลและ[[กฎมือขวา]]ใช้กำหนดว่าโพลีกอนจะหันไปในทิศทางใดและจะสะท้อนแสงอย่างไร ทั้งนี้ค่านอร์มอลจะถูกนำมาใช้ในการกำหนดการสะท้อนหรือหักเหแสงของพื้นผิว และอาจจะไม่ตั้งฉากกับพื้นผิวจริงก็ได้
ในงาน[[คอมพิวเตอร์กราฟิกส์สามมิติ]] นอร์มอลและ[[กฎมือขวา]]ใช้กำหนดว่าโพลีกอนจะหันไปในทิศทางใดและจะสะท้อนแสงอย่างไร ทั้งนี้แนวฉากจะถูกนำมาใช้ในการกำหนดการสะท้อนหรือหักเหแสงของพื้นผิว และอาจจะไม่ตั้งฉากกับพื้นผิวจริงก็ได้


* [[Vertex normal]] : ซอฟต์แวร์สำหรับ[[การเร็นเดอร์|เร็นเดอร์ภาพ]]อาจคำนวณค่านอร์มอลพื้นผิวจากค่า vertex normal เช่นในโพลีกอนสามเหลี่ยมจะกำหนดค่า vertex normal สามค่าให้ vertex ทั้งสามมุม โดยจะเป็นค่าเวกเตอร์ที่ไม่จำเป็นต้องตั้งฉากกับพื้นผิวโพลีกอนเพื่อมาใช้คำนวณ[[สนามเวกเตอร์]]ของนอร์มอลพื้นผิวโพลีกอน เช่นถ้ามีโพลีกอนสองชิ้นวางติดกัน แล้วกำหนด vertex normal ของทั้งสองชิ้นให้วิ่งไปทิศทางเดียวกับนอร์มอลพื้นผิว รอยต่อของโพลีกอนจะแสดงรอยหยักตามขอบ แต่ถ้า vertexให้ normal วิ่งไปทางเดียวกับ vertex normal ของพื้นผิวโพลีกอนข้างเคียง การสะท้อนของโพลีกอนชิ้นแรกจะถูกเกลี่ยเข้าหาการสะท้อนของโพลีกอนข้างเคียง ทำให้มองดูเสมือนเป็นพื้นผิวเรียบโค้ง
* [[Vertex normal]] : ซอฟต์แวร์สำหรับ[[การเร็นเดอร์|เร็นเดอร์ภาพ]]อาจคำนวณแนวฉากของพื้นผิวจากค่า vertex normal เช่นในโพลีกอนสามเหลี่ยมจะกำหนดค่า vertex normal สามค่าให้ vertex ทั้งสามมุม โดยจะเป็นค่าเวกเตอร์ที่ไม่จำเป็นต้องตั้งฉากกับพื้นผิวโพลีกอนเพื่อมาใช้คำนวณ[[สนามเวกเตอร์]]ของนอร์มอลพื้นผิวโพลีกอน เช่นถ้ามีโพลีกอนสองชิ้นวางติดกัน แล้วกำหนด vertex normal ของทั้งสองชิ้นให้วิ่งไปทิศทางเดียวกับนอร์มอลพื้นผิว รอยต่อของโพลีกอนจะแสดงรอยหยักตามขอบ แต่ถ้า vertexให้ normal วิ่งไปทางเดียวกับ vertex normal ของพื้นผิวโพลีกอนข้างเคียง การสะท้อนของโพลีกอนชิ้นแรกจะถูกเกลี่ยเข้าหาการสะท้อนของโพลีกอนข้างเคียง ทำให้มองดูเสมือนเป็นพื้นผิวเรียบโค้ง


=== ทัศนศาสตร์เชิงเรขาคณิต ===
=== ทัศนศาสตร์เชิงเรขาคณิต ===
[[ไฟล์:แนวฉากกับการสะท้อนแสง.png|right|thumb|300px|ค่านอร์มอล (normal) กับ[[การสะท้อน (ฟิสิกส์)|การสะท้อน]] โดยมุมตกกระทบ (''θ<sub>i</sub>'') จะมีค่าเท่ากับมุมสะท้อน (''θ<sub>r</sub>'')]]
[[ไฟล์:แนวฉากกับการสะท้อนแสง.png|right|thumb|300px|แนวฉากกับ[[การสะท้อน (ฟิสิกส์)|การสะท้อน]] โดยมุมตกกระทบ (''θ<sub>i</sub>'') จะมีค่าเท่ากับมุมสะท้อน (''θ<sub>r</sub>'')]]
ใน [[ทัศนศาสตร์เชิงเรขาคณิต]] '''นอร์มอล''' คือเส้นที่ตั้งฉากกับพื้นผิว<ref>{{cite web
ใน [[ทัศนศาสตร์เชิงเรขาคณิต]] '''นอร์มอล''' คือเส้นที่ตั้งฉากกับพื้นผิว<ref>{{cite web
|url= http://www.glenbrook.k12.il.us/gbssci/phys/Class/refln/u13l1c.html
|url= http://www.glenbrook.k12.il.us/gbssci/phys/Class/refln/u13l1c.html

รุ่นแก้ไขเมื่อ 11:39, 7 เมษายน 2558

แนวฉากสำหรับจุดบนพื้นผิวหาได้จากเส้นแนวฉากของระนาบสัมผัสที่สัมผัสพื้นผิวตรงจุดนั้น
ภาพแสดงนอร์มอลทั้งสองค่าของโพลีกอน

แนวฉาก (อังกฤษ: normal) ในทางเรขาคณิต หมายถึงวัตถุอย่างเช่นเส้นตรงหรือเวกเตอร์ที่ตั้งฉากกับวัตถุที่กำหนด ตัวอย่างเช่น กรณีสองมิติ เส้นแนวฉาก (normal line) ของเส้นโค้ง คือเส้นตรงที่ตั้งฉากกับเส้นสัมผัสเส้นโค้ง ณ จุดนั้น

กรณีสามมิติ แนวฉากของพื้นผิว (surface normal) ที่จุด P คือเวกเตอร์ที่ตั้งฉากกับระนาบสัมผัสพื้นผิว ณ จุด P ซึ่งเรียกว่า เวกเตอร์แนวฉาก (normal vector)

ในคอมพิวเตอร์กราฟิกส์สามมิตินิยมใช้แนวฉากกำหนดมุมระหว่างทิศทางที่พื้นผิวหันไปทำกับทิศทางของต้นกำเนิดแสงเพื่อเพื่อคำนวณการสะท้อนแบบ flat shading หรือใช้กำหนดที่มุมแต่ละมุมของพื้นผิวโพลีกอน (vertex normal) เพื่อใช้เกลี่ยแนวฉากของสองพื้นผิวที่ติดกันเข้าหากัน ทำให้พื้นผิวที่ทำมุมกันสามารถสะท้อนแสดงได้เหมือนกับเป็นพื้นผิวเรียบโค้ง (phong shading)

การคำนวณหาแนวฉาก

การหาแนวฉากของโพลีกอน สามารถหาได้จากผลคูณไขว้ของเวกเตอร์ขอบสองด้านที่ไม่ขนานกันของโพลีกอน แนวฉากจะมีสองค่าชี้ไปในทิศทางตรงข้ามกัน จึงอาจใช้กฎมือขวาร่วมกำหนดทิศทางที่นอร์มอลหรือหน้าของโพลีกอนหันไป

ถ้าระนาบเกิดจากสมการ เวกเตอร์ จะเป็นแนวฉากของระนาบ ถ้าพื้นผิว(ที่อาจไม่เรียบ) S ถูกพาราเมไทรซ์ในระบบพิกัดเชิงเส้นโค้ง x(s, t) โดยจำนวนจริง s และ t แนวฉากจะหาได้จากผลคูณไขว้ของอนุพันธ์บางส่วน

การใช้งาน

คอมพิวเตอร์กราฟิกส์สามมิติ

สนามเวกเตอร์ของนอร์มอลบนพื้นผิว
vertex normal กับการเปลี่ยนแปลงการสะท้อนของพื้นผิว (a) vertex normal ชี้ไปทิศทางเดียวกับ surface normal (b) vertex normal ชี้ไปในทิศทางเดียวกับ vertex normal ของพื้นผิวข้างเคียง การสะท้อนแสงจึงต่อเนื่องเสมือนเป็นพื้นผิวเดียวกัน

ในงานคอมพิวเตอร์กราฟิกส์สามมิติ นอร์มอลและกฎมือขวาใช้กำหนดว่าโพลีกอนจะหันไปในทิศทางใดและจะสะท้อนแสงอย่างไร ทั้งนี้แนวฉากจะถูกนำมาใช้ในการกำหนดการสะท้อนหรือหักเหแสงของพื้นผิว และอาจจะไม่ตั้งฉากกับพื้นผิวจริงก็ได้

  • Vertex normal : ซอฟต์แวร์สำหรับเร็นเดอร์ภาพอาจคำนวณแนวฉากของพื้นผิวจากค่า vertex normal เช่นในโพลีกอนสามเหลี่ยมจะกำหนดค่า vertex normal สามค่าให้ vertex ทั้งสามมุม โดยจะเป็นค่าเวกเตอร์ที่ไม่จำเป็นต้องตั้งฉากกับพื้นผิวโพลีกอนเพื่อมาใช้คำนวณสนามเวกเตอร์ของนอร์มอลพื้นผิวโพลีกอน เช่นถ้ามีโพลีกอนสองชิ้นวางติดกัน แล้วกำหนด vertex normal ของทั้งสองชิ้นให้วิ่งไปทิศทางเดียวกับนอร์มอลพื้นผิว รอยต่อของโพลีกอนจะแสดงรอยหยักตามขอบ แต่ถ้า vertexให้ normal วิ่งไปทางเดียวกับ vertex normal ของพื้นผิวโพลีกอนข้างเคียง การสะท้อนของโพลีกอนชิ้นแรกจะถูกเกลี่ยเข้าหาการสะท้อนของโพลีกอนข้างเคียง ทำให้มองดูเสมือนเป็นพื้นผิวเรียบโค้ง

ทัศนศาสตร์เชิงเรขาคณิต

แนวฉากกับการสะท้อน โดยมุมตกกระทบ (θi) จะมีค่าเท่ากับมุมสะท้อน (θr)

ใน ทัศนศาสตร์เชิงเรขาคณิต นอร์มอล คือเส้นที่ตั้งฉากกับพื้นผิว[1] ของตัวกลางต่างๆ คำว่านอร์มอลในที่นี้ใช้ในแง่ของคณิตศาสตร์ หมายถึงการตั้งฉาก โดยในการสะท้อนของแสง มุมตกกระทบ หมายถึงมุมระหว่างนอร์มอลกับทิศทางที่แสงวิ่งเข้า ขณะที่ มุมสะท้อน คือมุมระหว่างนอร์มอลกับทิศทางที่แสงสะท้อนออกไป

ดูเพิ่ม

อ้างอิง

  1. "The Law of Reflection" (HTML). The Physics Classroom Tutorial. สืบค้นเมื่อ 2008-03-31.