User Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

th:design_guide_polyhedron [2018/05/19 15:55] (current)
hassadee1 Created Thai content for 3D primitives Polyhedron.
Line 1: Line 1:
 +==== ทรงหลายหน้า (Polyhedron) ====
  
 +ทรงหลายหน้า (Polyhedron) เป็นรูปทรงสามมิติในรูปแบบของการเชื่อมต่อหลายหน้าเข้าด้วยกันเพื่อสร้างรูปทรงตันขึ้นมา โดยแต่ละหน้าคือรูปทรงสามมิติหลายเหลี่ยม (Polygon) โดยสามารถศึกษารายละเอียดเพิ่มเติมสำหรับได้ที่นี่ [[https://​th.wikipedia.org/​wiki/​รูปหลายเหลี่ยม|รูปหลายเหลี่ยม]]
 +
 +{{ :​wiki:​mathisfun-polyhedron.jpeg?​nolink |}}
 +
 +//​[[http://​www.mathsisfun.com/​geometry/​polyhedron.html|คุณสามารถศึกษาเพิ่มเติมเกี่ยวกับทรงหลายหน้าได้ที่ MathIsFun.com]]//​
 +
 +การสร้างทรงหลายหน้า สามารถสร้างด้วยการกำหนดจุดและกำหนดรูปทรงสามเหลี่ยมหรือรูปหลายเหลี่ยมขึ้น โดยแต่ละจุดจะเป็นตัวกำหนดแต่ละจุดยอดของรูปทรง และรูปสามเหลี่ยมจะเป็นตัวถูกกำหนดจากการเชื่อมต่อของแต่ละจุดเพื่อสร้างขึ้นมาเป็นหน้าแต่ละด้านของทรงหลายหน้า
 +
 +<code javascript>​
 +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 รูป สำหรับการทำพื้นรูปจัตุรัส
 +});
 +</​code>​
 +
 +คุณยังสามารถที่จะกำหนดรูปหลายเหลี่ยม (polygon) แทนการใช้รูปสามเหลี่ยม (triangle) ได้ โดย `polygons: [ [0,1,4,5], [..] ]` แทนการใช้ `triangles:​`.
 +
 +สำหรับ CSG คุณสามารถสร้างรูป Polyhedron แบบนี้ได้อีกด้วย
 +
 +<code javascript>​
 +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);​
 +</​code>​