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

สาขาคณิตศาสตร์ที่เกี่ยวข้องกับคำถามของรูปร่างขนาดตำแหน่งสัมพัทธ์ของตัวเลขและคุณสมบัติของพื้นที่

4
ฉันจะตรวจสอบได้อย่างมีประสิทธิภาพว่าจุดอยู่ภายในสี่เหลี่ยมหมุนอย่างไร
ส่วนหนึ่งเพื่อประโยชน์ในการเพิ่มประสิทธิภาพส่วนหนึ่งเพื่อจุดประสงค์ในการเรียนรู้ฉันจะกล้าถาม: ฉันจะตรวจสอบได้อย่างมีประสิทธิภาพมากที่สุดว่าจุด 2D นั้นPอยู่ในสี่เหลี่ยมหมุนรอบสองมิติXYZWโดยใช้ C # หรือ C ++ อย่างไร ขณะนี้สิ่งที่ฉันกำลังทำคือการใช้อัลกอริทึม "จุดเป็นรูปสามเหลี่ยม" ที่พบในหนังสือการตรวจหาการชนกันแบบเรียลไทม์และเรียกใช้สองครั้ง (สำหรับสามเหลี่ยมสองรูปที่ประกอบเป็นสี่เหลี่ยมพูด XYZ และ XZW): bool PointInTriangle(Vector2 A, Vector2 B, Vector2 C, Vector2 P) { // Compute vectors Vector2 v0 = C - A; Vector2 v1 = B - A; Vector2 v2 = P - A; // Compute …

3
ฉันจะแปลพิกัดทรงกลมเป็นพิกัดคาร์ทีเซียนได้อย่างไร
มีใครบางคนชี้ให้ฉันในทิศทางที่ถูกต้องว่าจะประสบความสำเร็จได้อย่างไร? คณิตศาสตร์ / เรขาคณิต 3 มิติมักทำให้ฉันขว้าง ฉันกำลังมองหาบางสิ่งเช่นนี้ (นึกคิดใน C #): public Vector3 getCartesianFor(float elevation, float asimuth, float polar) { return ????; }

1
การสร้างรูปทรงเรขาคณิตตามขั้นตอน
เมื่อไม่นานมานี้ฉันได้ตรวจสอบ SceneKit สำหรับ OS X และสังเกตว่ามีวิธีการหลายอย่างจากโรงงานเพื่อสร้างรูปทรงเรขาคณิตเช่น กล่อง, แคปซูล, กรวย, ทรงกระบอก, เครื่องบิน, ปิรามิด, ทรงกลม, พรูและหลอด ฉันสนใจที่จะเพิ่มรูปร่างดั้งเดิมให้กับนักแสดงของฉัน แต่ฉันพยายามหาแหล่งที่เหมาะสมที่ฉันสามารถรวบรวมความเข้าใจเกี่ยวกับการสร้างขั้นตอนได้ มีทรัพยากรหลายอย่างที่อธิบายถึงทฤษฎี แต่ไม่มีซอร์สโค้ดที่เหมาะสมในการสำรองข้อมูล SceneKit จัดเตรียมวิธีการจากโรงงานซึ่งอนุญาตให้ตั้งค่าคุณลักษณะของรูปร่างดังกล่าวแบบไดนามิก ในกรณีของกล่องคุณสามารถระบุค่าจำนวนเต็มสำหรับจำนวนความกว้างความสูงและส่วนความลึกที่แต่ละใบหน้าควรแบ่งออกเป็น ฉันเข้าใจทฤษฎี แต่ขาดความรู้ในการเริ่มต้นการแบ่งใบหน้าเรขาคณิตเพื่อให้ได้ผลตามที่ต้องการ จุดยอดสำหรับแต่ละรูปร่างนั้นค่อนข้างง่ายในการสร้างลูปแบบง่าย ๆ สิ่งที่ทำให้ฉันตกใจคือการรู้ว่าจะสร้างใบหน้าหรือประสานงานพื้นผิวที่เหมาะสมสำหรับแต่ละใบหน้า สามารถคำนวณ Normals ต่อหน้าดังนั้นฉันค่อนข้างมั่นใจว่าฉันสามารถบรรลุสิ่งที่ฉันต้องการได้ แต่เพิ่งรู้ว่าจะเริ่มจากตรงไหน ใครสามารถให้รายละเอียดเกี่ยวกับเรขาคณิตเชิงกระบวนงานได้บ้าง? สิ่งที่ฉันต้องการจริงๆคือซอร์สโค้ดเพื่อรวบรวมข้อมูลบางอย่าง ฉันค้นหาบทเรียนในระดับสูงและต่ำ แต่มีไซต์หรือบล็อกที่เหมาะสมเพียงเล็กน้อยเท่านั้น หนังสือที่ดีแบบฝึกหัดบล็อกหรือรายงานการวิจัยใด ๆ ที่จะได้รับการชื่นชม แก้ไขตามความคิดเห็น ฉันควรชี้แจงว่าฉันรู้วิธีสร้างจุดยอดสำหรับรูปทรงพื้นฐานซึ่งส่วนใหญ่สามารถทำได้โดยใช้ลูปง่าย สิ่งที่ฉันไม่เข้าใจคือวิธีการสร้างใบหน้าจากอาร์เรย์ของจุดยอดที่สร้างขึ้น ฉันจะสร้างแถบสามเหลี่ยมหรือสามเหลี่ยมจากจุดยอดที่ดูเหมือนไม่มีการเรียงลำดับได้อย่างไร ฉันคิดว่าเมื่อฉันผ่านจุดนี้ไปแล้วฉันสามารถสร้างบรรทัดฐานจากแต่ละหน้าได้ ในขณะที่ฉันยังไม่ได้พิจารณาเรื่องนี้ฉันได้เห็นการอ้างอิงจำนวนมากเกี่ยวกับเรื่องนี้และมั่นใจว่ามันจะง่ายพอที่จะใช้ เป็นการดีที่ฉันต้องการที่จะสามารถสร้างรูปทรงเรขาคณิตจากชุดของคุณสมบัติที่กำหนดเช่นวิธีที่ SceneKit ให้ ให้ SceneKit ทำไปแล้วและคุณสามารถทำสิ่งที่คล้ายกันใน Blender …

3
ย่อยสลายตาข่ายเว้าเป็นชุดตาข่ายนูน
ฉันต้องการที่จะย่อยสลายเว้าตาข่ายเป็นชุดของตาข่ายนูนด้วยเหตุผล 2 ประการ: การแสดงผลที่โปร่งใส รูปร่างทางฟิสิกส์ มีอัลกอริทึมที่ใช้ชุดของรูปสามเหลี่ยม (เว้า) เป็นอินพุทและเอาท์พุทจำนวนของชุดของรูปสามเหลี่ยม (นูน) หรือไม่? ฉันต้องการที่จะไม่เติมช่องว่างระหว่างส่วนต่างๆของตาข่ายเดิม ฉันเจอความคิดเล็ก ๆ อยู่แล้ว: หาขอบเว้าทั้งหมดแล้วแยกตาข่ายไปตามห่วงของขอบ ฉันกำลังติดตามใช่ไหม? ฉันจะใช้สิ่งนี้ได้อย่างไร

1
อัลกอริทึมสำหรับการสร้างมุมของรูปหลายเหลี่ยมปกติ n- ด้าน
ฉันได้ทำการค้นหาโดยใช้ชุดค่าผสมของคำหลักจำนวนมาก แต่ด้วยความประหลาดใจที่ยิ่งใหญ่ของฉันฉันไม่สามารถหาอัลกอริทึมสำหรับการสร้างรูปหลายเหลี่ยมแบบปกติด้าน n ลงในวงกลมที่กำหนดนั่นคือการหาพิกัดสำหรับจุดมุมn ทั้งหมดที่ฉันสามารถหาได้คือคำแนะนำวิธีการทำโดยใช้เข็มทิศและระนาบทางกายภาพหรือปลั๊กอินเบราว์เซอร์เชิงโต้ตอบที่ไม่มีแหล่งที่มา ดังนั้นฉันจะหาอัลกอริธึมได้ที่ไหน?

2
คุณคำนวณได้อย่างไรว่ามี 2 บรรทัดหันหน้าไปทางหรือออกไป?
เมื่อได้รับ 4 คะแนนที่อธิบายถึง 2 ส่วนของเส้นคุณจะคำนวณได้อย่างไรว่าเส้น A ไปทางหรือออกจากบรรทัด B เส้น 2 เส้นมีความยาวคงที่และสามารถวัดระยะทางจาก x1 / y1 ถึง x2 / y2

2
ระบบเรขาคณิตของประชากร: การเริ่มต้น [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Game Exchange Stack Exchange ปิดให้บริการใน4 ปีที่แล้ว ฉันต้องการพัฒนาเกมอย่าง Populous: The Beginning กับเพื่อนของฉัน แต่เราไม่สามารถหารูปทรงเรขาคณิตที่พวกเขาใช้สำหรับโลกนี้ได้ เรารู้ว่า - ไพ่ทั้งหมดมีขนาดเท่ากัน - ไพ่ทั้งหมดเป็นสี่เหลี่ยม ดังนั้น .. มันไม่สามารถเป็นอิโคซาเฮดรอนได้เพราะมีรูปสามเหลี่ยมและไม่สามารถเป็นรูปทรงกลมทรงมาตรฐานได้เพราะไม่ใช่ว่าทุกแผ่นมีขนาดเท่ากัน มีคนช่วยฉันได้ไหม
10 3d  geometry 

1
ฉันจะได้เวกเตอร์ปกติสำหรับระนาบจากเซตของจุดยอดได้อย่างไร?
ฉันกำลังทำงานในโครงการเล็ก ๆ ของ HLSL / C ++ เพื่อทำงานกราฟิกของฉันและฉันไม่แน่ใจว่าจะได้รับเวกเตอร์หันหน้าจากรูปหลายเหลี่ยมยอด ฉันไม่สามารถหาสูตรได้ ตำแหน่งคือ P1, P2, P3 ลองเรียกพวกเขาว่าคลาส VertexPoint ด้วย P1.x, P1.y, P1.z เป็นตัวอย่าง?

1
Dual Contouring - ค้นหาจุดคุณสมบัติโดยปรกติ
ฉันกำลังติดตามกวดวิชานี้เพื่อใช้ Dual Contouring http://www.sandboxie.com/misc/isosurf/isosurfaces.html แหล่งข้อมูลของฉันคือกริด 16x16x16; ฉันสำรวจกริดนี้จากล่างขึ้นบน, จากซ้ายไปขวา, ใกล้ถึงไกล สำหรับแต่ละดัชนีของกริดของฉันฉันสร้างโครงสร้างคิวบ์: public Cube(int x, int y, int z, Func<int, int, int, IsoData> d, float isoLevel) { this.pos = new Vector3(x,y,z); //only create vertices need for edges Vector3[] v = new Vector3[4]; v[0] = new Vector3 (x + 1, y + 1, …
9 c#  geometry 

2
ขอบเขตโลก - (0, ขนาด) หรือ (-HalfSize, HalfSize)?
เมื่อสร้างพื้นที่เกมที่จะย้ายวาดและชนวัตถุมันจะดีกว่าถ้ามีจุด (0,0) หรือจุด (0,0,0) อยู่ในใจกลางของพื้นที่ของคุณเช่นนั้น ขอบเขตของโลกคือ (ครึ่งขนาดครึ่งขนาด) หรือจะเป็นการดีกว่าถ้าอยู่ที่มุมไกลของอวกาศดังนั้นขอบเขตจึงเป็น (0 ขนาด)? ข้อดีและข้อเสียของแต่ละข้อคืออะไรและแต่ละประเภทมีปัญหาอะไรบ้าง หรือว่ามันไม่สำคัญจริงๆ ดูเหมือนว่ารายละเอียดเล็ก ๆ น้อย ๆ แต่ฉันต้องการที่จะดูว่าอาจมีปัญหาสำคัญที่ฉันอาจจะมองเห็น

2
ฉันจะตรวจสอบได้อย่างไรว่ารูปหลายเหลี่ยมหนึ่งมีอีกรูปแบบหนึ่งอย่างสมบูรณ์?
ฉันมีรูปหลายเหลี่ยม 2 อัน ฉันรู้พิกัดจุดสุดยอดของรูปหลายเหลี่ยมทั้งสอง เป็นวิธีที่ดีที่สุดในการตรวจสอบว่าอย่างใดอย่างหนึ่งอยู่ภายในอื่น ๆ ? ตัวอย่างเช่นอัลกอริทึมควรรับรู้สี่เหลี่ยมคางหมูสีดำด้านล่างว่ามีอยู่:

3
ภาพสามมิติ 2D: พิกัดหน้าจอเป็นกระเบื้อง
ฉันกำลังเขียนเกม isometric 2D และฉันมีปัญหาในการหาตำแหน่งที่เคอร์เซอร์อยู่ นี่คือภาพวาด: โดยที่ xs และ ys เป็นพิกัดหน้าจอ (พิกเซล), xt และ yt เป็นพิกัดของกระเบื้อง, W และ H คือความกว้างของกระเบื้องและความสูงของกระเบื้องเป็นพิกเซลตามลำดับ สัญกรณ์สำหรับพิกัดของฉันคือ (y, x) ซึ่งอาจทำให้เกิดความสับสนขออภัยเกี่ยวกับเรื่องนั้น สิ่งที่ดีที่สุดที่ฉันสามารถคิดได้คือ: int xtemp = xs / (W / 2); int ytemp = ys / (H / 2); int xt = (xs - ys) / 2; int yt …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.