User Tools


ทรงหลายหน้า (Polyhedron)

ทรงหลายหน้า (Polyhedron) เป็นรูปทรงสามมิติในรูปแบบของการเชื่อมต่อหลายหน้าเข้าด้วยกันเพื่อสร้างรูปทรงตันขึ้นมา โดยแต่ละหน้าคือรูปทรงสามมิติหลายเหลี่ยม (Polygon) โดยสามารถศึกษารายละเอียดเพิ่มเติมสำหรับได้ที่นี่ รูปหลายเหลี่ยม

คุณสามารถศึกษาเพิ่มเติมเกี่ยวกับทรงหลายหน้าได้ที่ MathIsFun.com

การสร้างทรงหลายหน้า สามารถสร้างด้วยการกำหนดจุดและกำหนดรูปทรงสามเหลี่ยมหรือรูปหลายเหลี่ยมขึ้น โดยแต่ละจุดจะเป็นตัวกำหนดแต่ละจุดยอดของรูปทรง และรูปสามเหลี่ยมจะเป็นตัวถูกกำหนดจากการเชื่อมต่อของแต่ละจุดเพื่อสร้างขึ้นมาเป็นหน้าแต่ละด้านของทรงหลายหน้า

polyhedron({      // ตัวอย่างทรงพิระมิด
  points: [ [10,10,0],[10,-10,0],[-10,-10,0],[-10,10,0], // สร้าง 4 จุด สำหรับเป็นฐาน
            [0,0,10] ],                                  // จุดยอด
  triangles: [ [0,1,4],[1,2,4],[2,3,4],[3,0,4],          // แต่ละด้านของสามเหลี่ยม
               [1,0,3],[2,1,3] ]                         // รูปสามเหลี่ยม 2 รูป สำหรับการทำพื้นรูปจัตุรัส
});

คุณยังสามารถที่จะกำหนดรูปหลายเหลี่ยม (polygon) แทนการใช้รูปสามเหลี่ยม (triangle) ได้ โดย `polygons: [ [0,1,4,5], [..] ]` แทนการใช้ `triangles:`.

สำหรับ CSG คุณสามารถสร้างรูป Polyhedron แบบนี้ได้อีกด้วย

var polygons = [];
polygons.push(new CSG.Polygon([
      new CSG.Vertex(new CSG.Vector3D(-5,-5,0)),
      new CSG.Vertex(new CSG.Vector3D(2,2,5)),
      new CSG.Vertex(new CSG.Vector3D(3,3,15))
   ])
);
// สร้าง Polyhedron จากรูปหลายเหลี่ยมหลายๆ รูป
solid = CSG.fromPolygons(polygons);