ตาข่ายรูปหลายเหลี่ยม

ในกราฟิกคอมพิวเตอร์ 3 มิติและการสร้างแบบจำลองของแข็งตาข่ายรูปหลายเหลี่ยมคือชุดของจุดยอด ,ขอบและหน้าตัดที่กำหนดรูปร่างของพื้นผิวของวัตถุทรงหลายเหลี่ยมช่วยให้การแสดงเช่น ในแบบจำลองโครงร่างหน้าตัดมักประกอบด้วยรูปสามเหลี่ยม(ตาข่ายสามเหลี่ยม)รูปสี่เหลี่ยม(รูปสี่เหลี่ยม) หรือรูปหลายเหลี่ยมเว้า(n ด้าน) ตาข่ายรูปหลายเหลี่ยมอาจประกอบด้วยรูปหลายเหลี่ยมเว้าหรือแม้แต่เหลี่ยมที่มีรู
การศึกษาเกี่ยวกับ ตาข่ายรูป หลายเหลี่ยมเป็นสาขาย่อยขนาดใหญ่ของกราฟิกคอมพิวเตอร์ (โดยเฉพาะกราฟิกคอมพิวเตอร์ 3 มิติ) และการสร้างแบบจำลองทางเรขาคณิตมีการใช้ตาข่ายรูปหลายเหลี่ยมในรูปแบบต่างๆ สำหรับการใช้งานและเป้าหมายที่แตกต่างกัน การดำเนินการต่างๆ ที่กระทำกับตาข่ายประกอบด้วยตรรกะบูลีน ( เรขาคณิตของแข็งเชิงสร้างสรรค์ ) การปรับ ให้เรียบและการลดความซับซ้อนนอกจากนี้ยังมีอัลกอริทึมสำหรับการติดตามรังสีการตรวจจับการชนและพลศาสตร์ของวัตถุแข็งเกร็งด้วยตาข่ายรูปหลายเหลี่ยม หากแสดงผลขอบของตาข่ายแทนที่จะเป็นหน้า แบบจำลองนั้นจะกลายเป็น แบบ จำลองโครงร่างเส้นลวด
มีวิธี การสร้างตาข่ายหลายวิธีรวมถึงอัลกอริทึมmarching cubes [ 1 ]
ตาข่ายปริมาตรแตกต่างจากตาข่ายรูปหลายเหลี่ยมตรงที่ตาข่ายปริมาตรแสดงทั้งพื้นผิวและบริเวณภายในของโครงสร้างอย่างชัดเจน ในขณะที่ตาข่ายรูปหลายเหลี่ยมแสดงเฉพาะพื้นผิวอย่างชัดเจนเท่านั้น (ปริมาตรนั้นแสดงโดยนัย)
องค์ประกอบ
วัตถุที่สร้างด้วยตาข่ายรูปหลายเหลี่ยมต้องจัดเก็บองค์ประกอบประเภทต่างๆ ได้แก่ จุดยอด ขอบ หน้า รูปหลายเหลี่ยม และพื้นผิว ในหลายแอปพลิเคชัน จะจัดเก็บเฉพาะจุดยอด ขอบ และหน้าหรือรูปหลายเหลี่ยมเท่านั้น โปรแกรมเรนเดอร์อาจรองรับเฉพาะหน้า 3 ด้าน ดังนั้นรูปหลายเหลี่ยมจึงต้องสร้างขึ้นจากหน้า 3 ด้านจำนวนมาก ดังแสดงในภาพด้านบน อย่างไรก็ตาม โปรแกรมเรนเดอร์หลายตัวรองรับรูปสี่เหลี่ยมและรูปหลายเหลี่ยมที่มีด้านมากกว่า หรือสามารถแปลงรูปหลายเหลี่ยมเป็นรูปสามเหลี่ยมได้แบบเรียลไทม์ ทำให้ไม่จำเป็นต้องจัดเก็บตาข่ายในรูปแบบสามเหลี่ยม
จุดยอด

ในทางกราฟิกคอมพิวเตอร์ จุดยอด (vertex) คือโครงสร้างข้อมูลที่อธิบายตำแหน่งของจุดในพื้นที่ 2, 3 หรือ 4 มิติ บนพื้นผิวพร้อมด้วยคุณลักษณะเพิ่มเติม (ค่าอื่นๆ ที่ใช้ในการแสดงผลวัตถุอย่างถูกต้อง) คุณลักษณะส่วนใหญ่ของจุดยอดแสดงถึงเวกเตอร์ในพื้นที่ที่จะแสดงผลเวกเตอร์เหล่านี้โดยทั่วไปจะมี 2 มิติ ( x, y ) หรือ 3 มิติ ( x, y, z ) และอาจรวมถึงพิกัดเอกพันธุ์ ที่สี่ ( w ) ด้วย ในการแสดงผลแบบเรียล ไทม์ คุณสมบัติเหล่านี้จะถูกใช้โดยเช เดอร์ จุดยอด (vertex shader)หรือ ไปป์ไลน์จุด ยอด (vertex pipeline )
คุณลักษณะต่างๆ อาจรวมถึง ตำแหน่ง สี การสะท้อนแสงความมันวาวพิกัด การแมปพื้นผิวเวกเตอร์ปกติและ การแม ปการเคลื่อนที่
การนำเสนอ
ตาข่ายรูปหลายเหลี่ยมสามารถแสดงได้หลายวิธี โดยใช้วิธีการจัดเก็บข้อมูลจุดยอด ขอบ และหน้าตัดที่แตกต่างกัน ซึ่งได้แก่:
- จุดยอด-จุดยอด
- จุดยอดหน้า
- ขอบปีก
- ขอบครึ่งหนึ่ง
- ขอบสี่เหลี่ยม
แต่ละรูปแบบมีข้อดีและข้อเสีย ดังที่ได้กล่าวไว้ใน Smith (2006) [ 2 ]
ตาข่ายจุดต่อจุด

เมชแบบจุดต่อจุด (Vertex-vertex meshes) แสดงถึงวัตถุในรูปของชุดจุดยอดที่เชื่อมต่อกับจุดยอดอื่นๆ นี่คือการแสดงผลที่ง่ายที่สุด แต่ไม่เป็นที่นิยมใช้กันอย่างแพร่หลาย เนื่องจากข้อมูลเกี่ยวกับหน้าและขอบนั้นเป็นแบบโดยปริยาย ดังนั้นจึงจำเป็นต้องสำรวจข้อมูลเพื่อสร้างรายการหน้าสำหรับการแสดงผล นอกจากนี้ การดำเนินการกับขอบและหน้าก็ทำได้ยากเช่นกัน
อย่างไรก็ตาม เมช VV มีข้อดีคือใช้พื้นที่จัดเก็บข้อมูลน้อยและสามารถเปลี่ยนรูปร่างได้อย่างมีประสิทธิภาพ รูปด้านบนแสดงกล่องสี่เหลี่ยมที่แสดงด้วยเมช VV แต่ละจุดยอดจะอ้างอิงถึงจุดยอดข้างเคียง จุดยอดสองจุดสุดท้าย คือจุดที่ 8 และ 9 ที่ด้านบนและด้านล่างตรงกลางของ "กล่องทรงกระบอก" มีจุดยอดที่เชื่อมต่อสี่จุดแทนที่จะเป็นห้าจุด ระบบทั่วไปต้องสามารถจัดการกับจำนวนจุดยอดที่เชื่อมต่อกับจุดยอดใดๆ ก็ได้
สำหรับคำอธิบายที่สมบูรณ์ของตาข่าย VV โปรดดู Smith (2006) [ 2 ]
ตาข่ายจุดยอดหน้า

แบบจำลองตาข่ายหน้า-จุดยอด (Face-vertex meshes) แสดงวัตถุโดยใช้ชุดของหน้าและชุดของจุดยอด นี่คือรูปแบบการแสดงตาข่ายที่ใช้กันอย่างแพร่หลายที่สุด เนื่องจากเป็นรูปแบบอินพุตที่ฮาร์ดแวร์กราฟิกสมัยใหม่ยอมรับได้โดยทั่วไป
ตาข่ายแบบหน้า-จุดยอด (Face-vertex mesh) พัฒนาต่อยอดจากตาข่ายแบบจุดยอด-จุดยอด (VV mesh) ในการสร้างแบบจำลอง เนื่องจากช่วยให้สามารถค้นหาจุดยอดของหน้าและหน้าต่างๆ ที่อยู่รอบจุดยอดได้อย่างชัดเจน รูปด้านบนแสดงตัวอย่าง "กล่อง-ทรงกระบอก" ในรูปแบบตาข่ายแบบหน้า-จุดยอด (FV mesh) จุดยอด v5 ถูกไฮไลต์เพื่อแสดงหน้าที่ล้อมรอบ สังเกตว่าในตัวอย่างนี้ ทุกหน้าจะต้องมีจุดยอด 3 จุดพอดี อย่างไรก็ตาม นี่ไม่ได้หมายความว่าทุกจุดยอดจะมีจำนวนหน้าที่ล้อมรอบเท่ากัน
สำหรับการเรนเดอร์นั้น โดยปกติแล้วรายการหน้าจะถูกส่งไปยัง GPU ในรูปแบบของชุดดัชนีไปยังจุดยอด และจุดยอดจะถูกส่งในรูปแบบโครงสร้างตำแหน่ง/สี/เวกเตอร์ตั้งฉาก (ในรูปภาพแสดงเฉพาะตำแหน่งเท่านั้น) ข้อดีของวิธีนี้คือ การเปลี่ยนแปลงรูปร่าง แต่ไม่ใช่เรขาคณิต สามารถอัปเดตได้แบบไดนามิกโดยการส่งข้อมูลจุดยอดใหม่โดยไม่ต้องอัปเดตการเชื่อมต่อของหน้า
การสร้างแบบจำลองต้องอาศัยการเข้าถึงโครงสร้างทั้งหมดได้ง่าย ด้วยเมชแบบหน้า-จุดยอด การหาจุดยอดของหน้าจึงทำได้ง่าย นอกจากนี้ รายการจุดยอดยังประกอบด้วยรายการของหน้าที่เชื่อมต่อกับแต่ละจุดยอด ซึ่งแตกต่างจากเมชแบบ VV ตรงที่ทั้งหน้าและจุดยอดนั้นชัดเจน ดังนั้นการหาหน้าและจุดยอดที่อยู่ใกล้เคียงจึงใช้เวลาคงที่ อย่างไรก็ตาม ขอบนั้นเป็นแบบไม่ชัดเจน ดังนั้นจึงยังคงต้องค้นหาเพื่อหาหน้าทั้งหมดที่อยู่รอบๆ หน้าที่กำหนด การดำเนินการแบบไดนามิกอื่นๆ เช่น การแบ่งหรือการรวมหน้า ก็ทำได้ยากเช่นกันเมื่อใช้เมชแบบหน้า-จุดยอด
ตาข่ายขอบปีก

นำเสนอโดย Baumgart ในปี 1975 [ 3 ]ตาข่ายขอบปีกแสดงจุดยอด หน้า และขอบของตาข่ายอย่างชัดเจน การแสดงผลนี้ใช้กันอย่างแพร่หลายในโปรแกรมสร้างแบบจำลองเพื่อให้มีความยืดหยุ่นสูงสุดในการเปลี่ยนแปลงรูปทรงเรขาคณิตของตาข่ายแบบไดนามิก เนื่องจากสามารถดำเนินการแยกและรวมได้อย่างรวดเร็ว ข้อเสียหลักคือความต้องการพื้นที่จัดเก็บขนาดใหญ่และความซับซ้อนที่เพิ่มขึ้นเนื่องจากการรักษาดัชนีจำนวนมาก การอภิปรายที่ดีเกี่ยวกับปัญหาการใช้งานของตาข่ายขอบปีกสามารถพบได้ในหนังสือGraphics Gems II [ 4 ]
ตาข่ายขอบปีก (Winged-edge meshes) ช่วยแก้ปัญหาการเดินทางจากขอบหนึ่งไปยังอีกขอบหนึ่ง และการจัดเตรียมชุดของหน้าตัดที่เรียงลำดับรอบขอบนั้น สำหรับขอบใดๆ จำนวนขอบที่ออกไปอาจมีจำนวนเท่าใดก็ได้ เพื่อให้ง่ายขึ้น ตาข่ายขอบปีกจึงจัดเตรียมเพียงสี่ขอบ คือ ขอบที่อยู่ใกล้ที่สุดในทิศทางตามเข็มนาฬิกาและทวนเข็มนาฬิกาที่ปลายแต่ละด้าน ขอบอื่นๆ อาจเดินทางผ่านได้ทีละน้อย ดังนั้น ข้อมูลสำหรับแต่ละขอบจึงคล้ายกับผีเสื้อ จึงเรียกว่าตาข่าย "ขอบปีก" รูปด้านบนแสดง "กล่องทรงกระบอก" ในรูปแบบตาข่ายขอบปีก ข้อมูลทั้งหมดสำหรับขอบประกอบด้วยจุดยอด 2 จุด (จุดปลาย) หน้าตัด 2 หน้า (ในแต่ละด้าน) และขอบ 4 ขอบ (ขอบปีก)
การแสดงผลเมชแบบขอบปีกสำหรับฮาร์ดแวร์กราฟิกจำเป็นต้องสร้างรายการดัชนีหน้า ซึ่งโดยปกติจะทำก็ต่อเมื่อรูปทรงเรขาคณิตเปลี่ยนแปลงเท่านั้น เมชแบบขอบปีกเหมาะอย่างยิ่งสำหรับรูปทรงเรขาคณิตแบบไดนามิก เช่น พื้นผิวแบบแบ่งย่อยและการสร้างแบบจำลองเชิงโต้ตอบ เนื่องจากสามารถเปลี่ยนแปลงเมชได้ในระดับท้องถิ่น การสำรวจข้ามเมช ซึ่งอาจจำเป็นสำหรับการตรวจจับการชน สามารถทำได้อย่างมีประสิทธิภาพ
แสดงผลโมเดลแบบไดนามิก
เมชแบบขอบปีกไม่ใช่รูปแบบการแสดงผลเพียงอย่างเดียวที่อนุญาตให้มีการเปลี่ยนแปลงรูปทรงเรขาคณิตแบบไดนามิก รูปแบบการแสดงผลที่รวมเมชแบบขอบปีกและเมชแบบหน้า-จุดยอดเข้าด้วยกันคือเมชแบบไดนามิกสำหรับการเรนเดอร์ (RDM) ซึ่งจัดเก็บทั้งจุดยอดของหน้าและหน้าของจุดยอด (เช่นเดียวกับเมชแบบหน้า-จุดยอด) และหน้าและจุดยอดของขอบ (เช่นเดียวกับเมชแบบขอบปีก) ไว้อย่างชัดเจน
RDM ต้องการพื้นที่จัดเก็บน้อยกว่าเมชแบบขอบปีกมาตรฐาน และสามารถแสดงผลโดยตรงด้วยฮาร์ดแวร์กราฟิกได้ เนื่องจากรายการหน้าประกอบด้วยดัชนีของจุดยอด นอกจากนี้ การสำรวจจากจุดยอดไปยังหน้าเป็นแบบชัดเจน (ใช้เวลาคงที่) เช่นเดียวกับการสำรวจจากหน้าไปยังจุดยอด RDM ไม่จำเป็นต้องมีขอบขาออกทั้งสี่ด้าน เนื่องจากสามารถค้นหาได้โดยการสำรวจจากขอบไปยังหน้า จากนั้นจากหน้าไปยังขอบข้างเคียง RDM ได้รับประโยชน์จากคุณสมบัติของเมชแบบขอบปีกโดยอนุญาตให้มีการอัปเดตรูปทรงเรขาคณิตแบบไดนามิก
ดู Tobler & Maierhofer ( WSCG 2006) สำหรับรายละเอียดเพิ่มเติม[ 5 ]
ประสิทธิภาพ
ในตารางต่อไปนี้explicitแสดงว่าการดำเนินการสามารถทำได้ในเวลาคงที่ เนื่องจากข้อมูลถูกจัดเก็บโดยตรงlist compareแสดงว่าต้องทำการเปรียบเทียบรายการระหว่างสองรายการเพื่อให้การดำเนินการสำเร็จ และpair searchแสดงว่าต้องทำการค้นหาในสองดัชนี สัญลักษณ์avg(V,V)หมายถึงจำนวนเฉลี่ยของจุดยอดที่เชื่อมต่อกับจุดยอดที่กำหนดavg(E,V)หมายถึงจำนวนเฉลี่ยของขอบที่เชื่อมต่อกับจุดยอดที่กำหนด และavg(F,V)คือจำนวนเฉลี่ยของหน้าที่เชื่อมต่อกับจุดยอดที่กำหนด
สัญลักษณ์ "V → f1, f2, f3, ... → v1, v2, v3, ..." อธิบายว่าจำเป็นต้องมีการสำรวจข้ามหลายองค์ประกอบเพื่อดำเนินการ ตัวอย่างเช่น ในการหา "จุดยอดทั้งหมดรอบจุดยอด V ที่กำหนด" โดยใช้ตาข่ายหน้า-จุดยอด จำเป็นต้องค้นหาหน้าต่างๆ รอบจุดยอด V ที่กำหนดก่อนโดยใช้รายการจุดยอด จากนั้น จากหน้าเหล่านั้น ให้ใช้รายการหน้าเพื่อค้นหาจุดยอดรอบๆ หน้าเหล่านั้น ตาข่ายขอบปีกจะเก็บข้อมูลเกือบทั้งหมดไว้อย่างชัดเจน และการดำเนินการอื่นๆ จะสำรวจไปยังขอบก่อนเสมอเพื่อรับข้อมูลเพิ่มเติม ตาข่ายจุดยอด-จุดยอดเป็นรูปแบบการแสดงผลเพียงรูปแบบเดียวที่เก็บข้อมูลจุดยอดข้างเคียงของจุดยอดที่กำหนดไว้อย่างชัดเจน
เมื่อโครงสร้างตาข่ายมีความซับซ้อนมากขึ้น (จากซ้ายไปขวาในภาพรวม) ปริมาณข้อมูลที่จัดเก็บไว้อย่างชัดเจนก็จะเพิ่มขึ้น ซึ่งทำให้เข้าถึงการสำรวจและโครงสร้างทางภูมิศาสตร์ขององค์ประกอบต่างๆ ได้โดยตรงและใช้เวลาคงที่มากขึ้น แต่ก็แลกมาด้วยค่าใช้จ่ายที่เพิ่มขึ้นและพื้นที่ในการดูแลรักษาดัชนีอย่างถูกต้อง
โดยทั่วไปแล้ว เมชแบบหน้า-จุดยอด (face-vertex meshes) จะถูกใช้เมื่อต้องแสดงผลวัตถุบนฮาร์ดแวร์กราฟิกที่ไม่เปลี่ยนแปลงรูปทรงเรขาคณิต (การเชื่อมต่อ) แต่รูปร่างอาจบิดเบี้ยวหรือเปลี่ยนรูป (ตำแหน่งจุดยอด) เช่นการแสดงผลวัตถุแบบคงที่หรือแบบเปลี่ยนรูปแบบเรียลไทม์ เมชแบบขอบปีก (winged-edge meshes) หรือเมชแบบไดนามิก (render dynamic meshes) จะถูกใช้เมื่อรูปทรงเรขาคณิตเปลี่ยนแปลง เช่น ในโปรแกรมสร้างแบบจำลองเชิงโต้ตอบ หรือสำหรับการคำนวณพื้นผิวแบบแบ่งย่อย เมชแบบจุดยอด-จุดยอด (vertex-vertex meshes) เหมาะอย่างยิ่งสำหรับการเปลี่ยนแปลงรูปทรงเรขาคณิตหรือโทโพโลยีที่ซับซ้อนและมีประสิทธิภาพ ตราบใดที่การแสดงผลด้วยฮาร์ดแวร์ไม่ใช่ปัญหา
| การดำเนินการ | จุดยอด-จุดยอด | จุดยอดหน้า | ขอบปีก | แสดงผลแบบไดนามิก | |
|---|---|---|---|---|---|
| วีวี | จุดยอดทั้งหมดรอบจุดยอด | ชัดเจน | วี → f1, f2, f3, ... → v1, v2, v3, ... | วี → e1, e2, e3, ... → v1, v2, v3, ... | วี → e1, e2, e3, ... → v1, v2, v3, ... |
| อีเอฟ | ขอบทุกด้านของใบหน้า | F(a,b,c) → {a,b}, {b,c}, {a,c} | F → {a,b}, {b,c}, {a,c} | ชัดเจน | ชัดเจน |
| วีเอฟ | จุดยอดทั้งหมดของหน้า | F(a,b,c) → {a,b,c} | ชัดเจน | F → e1, e2, e3 → a, b, c | ชัดเจน |
| เอฟวี | ทุกหน้าโดยรอบจุดยอด | การค้นหาคู่ | ชัดเจน | วี → e1, e2, e3 → f1, f2, f3, ... | ชัดเจน |
| อีวี | ขอบทั้งหมดรอบจุดยอด | วี → {วี,v1}, {วี,v2}, {วี,v3}, ... | วี → f1, f2, f3, ... → v1, v2, v3, ... | ชัดเจน | ชัดเจน |
| เอฟอี | ทั้งสองด้านของขอบ | รายการเปรียบเทียบ | รายการเปรียบเทียบ | ชัดเจน | ชัดเจน |
| วีอี | จุดยอดทั้งสองของขอบ | E(a,b) → {a,b} | E(a,b) → {a,b} | ชัดเจน | ชัดเจน |
| ฟลุค | ค้นหาหน้าตัดที่มีจุดยอดที่กำหนดให้ | (a,b,c) → F{a,b,c} | กำหนดจุดตัดของ v1, v2, v3 | กำหนดจุดตัดของ v1, v2, v3 | กำหนดจุดตัดของ v1, v2, v3 |
| ขนาดพื้นที่จัดเก็บ | V*avg(V,V) | 3F + V*avg(F,V) | 3F + 8E + V*avg(E,V) | 6F + 4E + V*avg(E,V) | |
| ตัวอย่างที่มี 10 จุดยอด 16 หน้า และ 24 ขอบ: | |||||
| 10 * 5 = 50 | 3*16 + 10*5 = 98 | 3*16 + 8*24 + 10*5 = 290 | 6*16 + 4*24 + 10*5 = 242 | ||
การนำเสนอแบบอื่น
การประมวลผลแบบสตรีมมิ่งเมชจะจัดเก็บหน้าตัดของโมเดลในลักษณะที่เป็นระเบียบแต่เป็นอิสระต่อกัน เพื่อให้สามารถส่งต่อโมเดลเป็นชิ้นๆ ได้ ลำดับของหน้าตัดอาจขึ้นอยู่กับตำแหน่ง สเปกตรัม หรือคุณสมบัติอื่นๆ ของโมเดล การประมวลผลแบบสตรีมมิ่งเมชช่วยให้สามารถเรนเดอร์โมเดลขนาดใหญ่ได้แม้ในขณะที่กำลังโหลดอยู่
เมชแบบโปรเกรสซีฟจะส่งข้อมูลจุดยอดและหน้าตัดด้วยระดับรายละเอียดที่เพิ่มขึ้นเรื่อยๆ แตกต่างจากเมชแบบสตรีมมิ่ง เมชแบบโปรเกรสซีฟจะแสดงรูปร่างโดยรวมของวัตถุทั้งหมด แต่มีรายละเอียดต่ำ ข้อมูลเพิ่มเติม เช่น ขอบและหน้าตัดใหม่ จะค่อยๆ เพิ่มรายละเอียดของเมชขึ้น
เมชแบบปกติจะส่งผ่านการเปลี่ยนแปลงทีละน้อยไปยังเมชในรูปแบบของการกระจัดปกติจากเมชพื้นฐาน ด้วยเทคนิคนี้ ชุดของพื้นผิวจะแสดงถึงการปรับเปลี่ยนทีละน้อยที่ต้องการ เมชแบบปกติมีขนาดกะทัดรัด เนื่องจากต้องการเพียงค่าสเกลาร์เดียวในการแสดงการกระจัด อย่างไรก็ตาม เทคนิคนี้ต้องการการแปลงที่ซับซ้อนหลายขั้นตอนเพื่อสร้างพื้นผิวการกระจัด
รูปแบบไฟล์
มีรูปแบบไฟล์ มากมาย สำหรับการจัดเก็บข้อมูลตาข่ายรูปหลายเหลี่ยม แต่ละรูปแบบจะมีประสิทธิภาพสูงสุดเมื่อใช้ตามวัตถุประสงค์ที่ผู้สร้างกำหนดไว้ รูปแบบที่นิยมใช้ ได้แก่.fbx , .dae , .objและ.stlตารางแสดงรูปแบบอื่นๆ เพิ่มเติมบางส่วนแสดงอยู่ด้านล่าง:
| นามสกุลไฟล์ | ชื่อรูปแบบ | องค์กรต่างๆ | โปรแกรม(ต่างๆ) | คำอธิบาย |
|---|---|---|---|---|
| .ดิบ | ตาข่ายดิบ | ไม่ทราบ | หลากหลาย | รูปแบบเปิดที่ใช้เฉพาะ ASCII เท่านั้น แต่ละบรรทัดประกอบด้วยจุดยอดสามจุด คั่นด้วยช่องว่าง เพื่อสร้างรูปสามเหลี่ยม ดังนี้: X1 Y1 Z1 X2 Y2 Z2 X3 Y3 Z3 |
| .blend | รูปแบบไฟล์ Blender | มูลนิธิ Blender | Blender 3D | โอเพนซอร์ส รูปแบบไบนารีเท่านั้น |
| .fbx | รูปแบบไฟล์ Autodesk FBX | ออโต้เดสก์ | หลากหลาย | เป็นข้อมูลเฉพาะของบริษัท มีข้อกำหนดทั้งแบบไบนารีและ ASCII |
| .3ds | ไฟล์ 3ds Max | ออโต้เดสก์ | 3ds Max | รูปแบบที่ใช้กันทั่วไปแต่ล้าสมัย มีข้อจำกัดที่เข้มงวดคือ 16 บิตสำหรับจำนวนจุดยอดและหน้า ไม่มีการกำหนดมาตรฐานหรือเอกสารอธิบายอย่างละเอียด แต่เคยเป็น "มาตรฐานโดยพฤตินัย" สำหรับการแลกเปลี่ยนข้อมูล |
| .dae | การแลกเปลี่ยนสินทรัพย์ดิจิทัล (COLLADA) | โซนี่ คอมพิวเตอร์ เอนเตอร์เทนเมนต์ , โครโนส กรุ๊ป | ไม่มีข้อมูล | ย่อมาจาก " COLLABorative SIGN ACTIVE " ซึ่ง เป็นรูปแบบสากลที่ออกแบบมาเพื่อป้องกันปัญหาความเข้ากันไม่ได้ |
| .dgn | ไฟล์ไมโครสเตชั่น | เบนท์ลีย์ ซิสเต็มส์ | ไมโครสเตชั่น | ไฟล์ DGN มีสองรูปแบบ ได้แก่ รูปแบบก่อนเวอร์ชัน 8 และรูปแบบเวอร์ชัน 8 (V8) |
| 0.3 ดม. | ไฟล์ Rhino | โรเบิร์ต แม็คนีล แอนด์ แอสโซซิเอทส์ | แรด 3 มิติ | |
| .dxf , .dwg | รูปแบบการแลกเปลี่ยนภาพวาด | ออโต้เดสก์ | ออโต้ซีเอดี | |
| .obj | เวฟฟรอนท์ OBJ | เทคโนโลยีเวฟฟรอนท์ | หลากหลาย | รูปแบบ ASCII ที่อธิบายรูปทรงเรขาคณิต 3 มิติ จุดยอดของทุกหน้าจะเรียงลำดับทวนเข็มนาฬิกา ทำให้เวกเตอร์ตั้งฉากของหน้าเป็นค่าโดยปริยาย ส่วนเวกเตอร์ตั้งฉากแบบเรียบจะถูกกำหนดต่อจุดยอด |
| .ชั้น | รูปแบบไฟล์รูปหลายเหลี่ยม | มหาวิทยาลัยสแตนฟอร์ด | หลากหลาย | เลขฐานสองและ ASCII |
| .pmd | ข้อมูลจาก Polygon Movie Maker | ยู ฮิกุจิ | มิกุมิกุแดนซ์ | รูปแบบไฟล์ไบนารีเฉพาะสำหรับจัดเก็บรูปทรงเรขาคณิตของโมเดลมนุษย์ พร้อมข้อมูลการจัดโครงสร้าง วัสดุ และฟิสิกส์ |
| .stl | รูปแบบสเตอริโอลิโทกรา ฟี | ระบบ 3 มิติ | มากมาย | รูปแบบไบนารีและ ASCII ถูกออกแบบมาเพื่อช่วยในการทำงานของเครื่อง CNCโดย เฉพาะ |
| .amf | รูปแบบไฟล์การผลิตแบบเพิ่มเนื้อวัสดุ (Additive Manufacturing File Format) | เอเอสทีเอ อินเตอร์เนชั่นแนล | ไม่มีข้อมูล | เหมือนกับไฟล์รูปแบบ STL แต่เพิ่มการรองรับสี วัสดุ และกลุ่มดาวแบบดั้งเดิมเข้ามาด้วย |
| .wrl | ภาษาสร้างแบบจำลองความเป็นจริงเสมือน | กลุ่มความร่วมมือเว็บ3D | เว็บเบราว์เซอร์ | มาตรฐาน ISO 14772-1:1997 |
| .wrz | VRML บีบอัด | กลุ่มความร่วมมือเว็บ3D | เว็บเบราว์เซอร์ | |
| .x3d, .x3db, .x3dv | 3 มิติที่ขยายได้ | กลุ่มความร่วมมือเว็บ3D | เว็บเบราว์เซอร์ | เป็นซอฟต์แวร์โอเพนซอร์สที่ใช้ XML ไม่เสียค่าลิขสิทธิ์ ขยายได้ และใช้งานร่วมกันได้ นอกจากนี้ยังรองรับข้อมูลสี พื้นผิว และฉาก ตามมาตรฐาน ISO 19775/19776/19777 |
| .x3dz, .x3dbz, .x3dvz | X3D ไบนารีบีบอัด | กลุ่มความร่วมมือเว็บ3D | เว็บเบราว์เซอร์ | |
| .c4d | ไฟล์ Cinema 4D | แม็กซอน | โรงภาพยนตร์ 4 มิติ | |
| .lwo | ไฟล์วัตถุ LightWave 3D | นิวเทค | ไลท์เวฟ 3 มิติ | |
| .smb | สกอร์เรค เอพีเอฟ | คะแนน RPI | ปูมี่ | โซลูชันโอเพนซอร์สสำหรับสร้างตาข่าย 3 มิติแบบขนานที่ปรับเปลี่ยนได้สำหรับเวิร์กโฟลว์การจำลองโดยใช้สมการอนุพันธ์ย่อย (PDE) |
| .msh | จีเอ็มเอสเอ็ม เมช | นักพัฒนา GMsh | โครงการ GMsh | ซอฟต์แวร์โอเพนซอร์สที่ให้คำอธิบายตาข่าย ASCII สำหรับองค์ประกอบเชิงเส้นและเชิงพหุนามในหนึ่งถึงสามมิติ |
| .mesh | OGRE XML | ทีมพัฒนา OGRE | OGRE, purebasic | โอเพนซอร์ส มีไฟล์ไบนารี (.mesh) และไฟล์ ASCII (.mesh.xml) ให้เลือกใช้งาน ประกอบด้วยข้อมูลสำหรับการสร้างแอนิเมชั่นจุดยอดและการสร้างแอนิเมชั่นเป้าหมายการเปลี่ยนแปลงรูปร่าง (blendshape) ข้อมูล แอนิเมชั่นโครงกระดูกอยู่ในไฟล์แยกต่างหาก (.skeleton) |
| มังสวิรัติ | ตาข่ายทรงสี่เหลี่ยมด้านเท่า Vega FEM | เยอร์เนจ บาร์บิช | เวก้า เอฟเอ็ม | ซอฟต์แวร์โอเพนซอร์ส จัดเก็บโครงสร้างตาข่ายทรงสี่เหลี่ยมด้านเท่าและคุณสมบัติวัสดุสำหรับการจำลองด้วยวิธีไฟไนต์เอเลเมนต์ (FEM) มีไฟล์ให้เลือกทั้งแบบ ASCII (.veg) และไบนารี (.vegb) |
| .z3d | แซด3ด | โอเลก เมลาเชนโก | Zanoza Modeler | - |
| .vtk | VTK mesh | VTK , Kitware | VTK , Paraview | รูปแบบเปิด ไม่ว่าจะเป็น ASCII หรือไบนารี ที่มีฟิลด์ข้อมูลหลากหลายประเภท รวมถึงข้อมูลจุด ข้อมูลเซลล์ และข้อมูลฟิลด์ |
| .l4d | การวาดภาพ LAI4D | ห้องปฏิบัติการปัญญาประดิษฐ์เพื่อการออกแบบ | แอลไอ4ดี | รูปแบบข้อมูล ASCII ที่อธิบายโครงสร้างลำดับชั้นของเอนทิตี |
ดูเพิ่มเติม
- การแบ่งย่อยตาข่าย (เทคนิคการเพิ่มรายละเอียดให้กับตาข่ายรูปหลายเหลี่ยม)
- การสร้างแบบจำลองรูปหลายเหลี่ยม
- เครื่องสร้างรูปหลายเหลี่ยม
- การหาพิกัดสามเหลี่ยม (เรขาคณิต)
- แบบจำลองโครงร่าง
ลิงก์ภายนอก
- ไวส์สไตน์, เอริค ดับเบิลยู. "คอมเพล็กซ์เชิงซิมพลิเชียล" . MathWorld .
- ไวส์สไตน์, เอริค ดับเบิลยู. "การหาจุดสามเหลี่ยม" . MathWorld .
- OpenMeshคือโอเพนซอร์สสำหรับการแสดงภาพตาข่ายแบบครึ่งขอบ (half-edge mesh)
- ไลบรารีการประมวลผลตาข่ายรูปหลายเหลี่ยม
- Surface Meshคือบทหนึ่งของCGALซึ่งเป็นคลังอัลกอริธึมทางเรขาคณิตเชิงคำนวณ (Computational Geometry Algorithms Library)