คำถามติดแท็ก geometry

2
ทำไมอินเวอร์ส transposed ของเมทริกซ์มุมมองแบบจำลองที่ใช้ในการแปลงเวกเตอร์ปกติ?
เมื่อเรนเดอร์ฉาก 3 มิติด้วยการแปลงที่นำไปใช้กับวัตถุบรรทัดฐานจะต้องถูกเปลี่ยนเป็นอินเวอร์ส transposed ของเมทริกซ์มุมมองโมเดล ดังนั้นด้วยปกติ , modelViewMatrixการแปลงปกติคือM n ′nnnMMMn'n′n' n'= ( M- 1)T⋅ nn′=(M−1)T⋅nn' = (M^{-1})^{T} \cdot n เมื่อเปลี่ยนวัตถุมันเป็นที่ชัดเจนว่าจะต้องมีการแปลงมาตรฐาน แต่ทำไมในทางคณิตศาสตร์นี่คือเมทริกซ์การแปลงที่สอดคล้องกัน?

3
สถานะของศิลปะใน LOD ทางเรขาคณิตในเกมคืออะไร
เกมสมัยใหม่ทำรายละเอียดระดับเรขาคณิตของวัตถุตาข่ายเช่นตัวละครภูมิประเทศและใบไม้ได้อย่างไร คำถามของฉันมีสองส่วน: ท่อส่งทรัพย์สินมีลักษณะอย่างไร ศิลปินสร้างแบบจำลองแบบโพลีสูงซึ่งจะถูกทำลายในภายหลังหรือไม่? ถ้าเป็นเช่นนั้นอัลกอริธึมการทำลายล้างใดที่ได้รับความนิยมมากที่สุด บางครั้ง LOD ทำตาข่ายด้วยมือหรือไม่? เอ็นจิ้นเปลี่ยนระหว่าง LOD ของวัตถุต่าง ๆ ในเวลาทำงานอย่างไร มีการเปลี่ยนแปลงที่ราบรื่นหรือมีความก้าวหน้า? คำตอบอาจเป็น "สตูดิโอต่าง ๆ ใช้เทคนิคต่างกัน" ถ้าเป็นเช่นนั้นโปรดระบุแนวทางปฏิบัติทั่วไปบางอย่าง มันจะเป็นการดีถ้าคุณสามารถชี้ให้ฉันเห็นเอกสาร / สไลด์ที่ครอบคลุมตัวอย่างเฉพาะ
15 geometry 

4
รายละเอียดเส้นขอบฟ้าของน้ำที่ฉาย
ฉันพยายามใช้ฉากมหาสมุทรด้วย C ++ และ DirectX11 ขณะนี้ฉันมีตารางที่ฉายคลื่น Gerstner และการแรเงาขั้นพื้นฐาน ปัญหาของฉันคือเมื่อฉันเล็งกล้องในแนวนอนฉันสามารถมองเห็นเส้นขอบฟ้าของน้ำได้ในระยะไกลกริดที่คาดการณ์ไว้จะไม่เพียงพอแม้แต่ที่จุดยอดสูง ภาพหน้าจอเหล่านี้แสดงให้เห็นถึงปัญหา: ฉันรู้ว่าสาเหตุของปัญหาอยู่ในแนวคิดของกริดที่ฉาย (ตารางมีรายละเอียดใกล้กับกล้องซึ่งห่างจากมันมาก) แต่ต้องมีวิธีปฏิบัติที่ดีที่สุดในการแก้ปัญหานี้ ความคิดใด ๆ

2
วิธีการคำนวณพื้นผิวสำหรับเรขาคณิตที่สร้างขึ้น
ฉันมีคลาสที่สร้างรูปร่าง 3 มิติตามอินพุตจากรหัสการโทร อินพุตเป็นสิ่งต่าง ๆ เช่นความยาวความลึกส่วนโค้งและอื่น ๆ รหัสของฉันสร้างรูปทรงเรขาคณิตได้อย่างสมบูรณ์แบบ แต่ฉันพบปัญหาเมื่อคำนวณหาค่ามาตรฐานของพื้นผิว เมื่อส่องสว่างรูปร่างของฉันมีการระบายสี / พื้นผิวที่แปลกประหลาดมากจากบรรทัดฐานของพื้นผิวที่ไม่ถูกต้องที่คำนวณ จากการวิจัยทั้งหมดของฉันฉันเชื่อว่าคณิตศาสตร์ของฉันถูกต้องดูเหมือนว่ามีบางอย่างผิดปกติกับเทคนิคหรือวิธีการของฉัน ในระดับสูงเราจะคำนวณค่าปกติของพื้นผิวสำหรับรูปร่างที่สร้างขึ้นโดยทางโปรแกรมได้อย่างไร ฉันใช้ Swift / SceneKit บน iOS เป็นรหัสของฉัน แต่คำตอบทั่วไปนั้นใช้ได้ ฉันมีสองอาร์เรย์ที่แสดงถึงรูปร่างของฉัน หนึ่งคืออาร์เรย์ของจุด 3 มิติที่แสดงถึงจุดยอดที่ประกอบเป็นรูปร่าง อาเรย์อีกอันคือรายการดัชนีของอาเรย์แรกที่แมปจุดยอดเป็นรูปสามเหลี่ยม ฉันจำเป็นต้องใช้ข้อมูลนั้นและสร้างอาร์เรย์ลำดับที่ 3 ซึ่งเป็นชุดของบรรทัดฐานพื้นผิวที่ช่วยในการให้แสงสว่างของรูปร่าง (ดูSCNGeometrySourceSemanticNormalใน SceneKit` ) รายการของจุดยอดและดัชนีมักจะแตกต่างกันไปขึ้นอยู่กับอินพุตของคลาสดังนั้นฉันจึงไม่สามารถคำนวณล่วงหน้าหรือรหัสยาก ๆ เกี่ยวกับค่ามาตรฐานพื้นผิวได้

1
ทำไมตาข่ายแบบเรียบในสตูดิโอ 3D จึงมีจำนวนจุดยอด / สามเหลี่ยมเท่ากัน? จากนั้นจะสามารถทำให้เรียบด้วยเรขาคณิตเดียวกันได้อย่างไร
ฉันพยายามที่จะเข้าใจว่าทำไมตาข่ายที่เรียบในสตูดิโอ 3 มิติ (Modifiers / Smoother) นั้นมีจุดยอด / ใบหน้าจำนวนเท่ากันก่อนหรือหลังกระบวนการนั้นรวมถึงรูปทรงเรขาคณิตที่เหมือนกัน ในตัวอย่างต่อไปนี้ตาข่ายทั้งสองมี 32 จุดยอดและใบหน้า 60 หน้า แม้ว่าฉันจะมีประสบการณ์การทำงานกับการเขียนโปรแกรม (c ++ และ c #) แต่ฉันเป็นมือใหม่สำหรับคอมพิวเตอร์กราฟิก ดังนั้นความคาดหวังของฉันก็คือรูปลักษณ์ที่เรียบของตาข่ายแบบเรียบนั้นจะต้องมีจุดยอดเพิ่มเติมเช่นการแบ่งของรูปสามเหลี่ยมเพื่อที่จะมีตาข่ายสุดท้ายที่มีรายละเอียดมากขึ้น อย่างไรก็ตามดูเหมือนว่าจะไม่เป็นเช่นนั้น ดังนั้นฉันถาม: 1) การปรับให้เรียบเป็นไปได้อย่างไรโดยไม่เพิ่มรายละเอียดของเรขาคณิตตาข่าย? 2) การปรับให้เรียบอย่างน้อยเพิ่มหน่วยความจำที่จัดสรร / ใช้สำหรับการจัดเก็บตาข่ายใหม่โดยเปรียบเทียบกับต้นฉบับหรือไม่? คำอธิบายยินดีอย่างยิ่ง แต่การอ้างอิง (ด้านวิชาการหรือไม่) ก็ชื่นชมเช่นกัน
11 3d  geometry  mesh  memory  model 

1
ไปป์ไลน์เพื่อสร้าง Voronoi Meshes
ฉันต้องการนำปลั๊กอินมายา (คำถามนี้ไม่ขึ้นอยู่กับมายา) เพื่อสร้างรูปแบบ 3D Voronoi อย่างที่ต้องการ ฉันเพิ่งรู้ว่าฉันต้องเริ่มจากการสุ่มตัวอย่างแบบจุด (ฉันใช้อัลกอริทึมการสุ่มตัวอย่างแบบปัวซองแบบปรับตัวที่อธิบายไว้ในบทความนี้ ) ฉันคิดว่าจากจุดเหล่านั้นฉันควรสร้างลวดสามมิติของตาข่ายโดยใช้ Voronoi (ฉันพยายามใช้ (Python) scipy.spatial.Voronoi แต่ผลลัพธ์นั้นแตกต่างจากที่ฉันคาดไว้) ฉันทำอะไรบางอย่างหายไป? ใครสามารถแนะนำขั้นตอนและอัลกอริทึมที่เหมาะสมที่ฉันต้องใช้ในการสร้างรูปแบบดังกล่าวได้หรือไม่? [แก้ไข] ต่อไปนี้เป็นตัวอย่างของสิ่งที่ฉันจัดการผลลัพธ์ที่ได้จาก scipy.spatial.Voronoi เช่นนี้ (ตามที่แนะนำไว้ที่นี่ ): vor = Voronoi(points) for vpair in vor.ridge_vertices: for i in range(len(vpair) - 1): if all(x >= 0 for x in vpair): v0 = vor.vertices[vpair[i]] v1 = vor.vertices[vpair[i+1]] …
10 3d  geometry  mesh  polygon 

3
การสั่งซื้อชุดของจุดที่ไม่มีการรวบรวมกันตามแนวโค้ง
ฉันมีชุดของคะแนน 3 มิติ (ซึ่งฉันกู้คืนจากห้องสมุดที่ดำเนินการ tessellation ของร่างกายที่เป็นของแข็ง) ที่เป็นของเส้นโค้ง (เช่นขอบของของแข็ง) นั่นหมายความว่าเส้นโค้งผ่านแต่ละจุดเหล่านี้อย่างแน่นอน อย่างไรก็ตามชุดจุดไม่ได้เรียงลำดับดังนั้นฉันจำเป็นต้องเรียงลำดับเพื่อให้สามารถวาดเส้นโค้งนี้ได้อย่างถูกต้อง มีวิธีใดที่ทราบสำหรับปัญหาประเภทนี้หรือไม่ ข้อมูลเพิ่มเติมบางส่วน: เส้นโค้งเป็นพารามิเตอร์ทั่วไป (เส้นโค้ง / bezier ชิ้นวงกลม .. ) คะแนนจะได้รับเป็นพิกัดจุดลอย คะแนนอัดแน่นมาก (แต่พวกมันอาจหนาแน่นได้ตามที่ฉันต้องการ) เพื่อให้ความคิดแก่คุณสำหรับเส้นโค้งที่มี 19 หน่วยใน x, 10 หน่วยใน x และ 5 หน่วยใน z ผมพูดลำดับของจุดในส่วนของเส้นโค้ง: (20.7622, ​​25.8676, 0) (20.6573, 25.856, 0) (20.5529, 25.8444, 0) (20.4489, 25.8329, 0) (20.3454, 25.8213, 0)
9 geometry  mesh  curve 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.