ทรงกระบอกเป็นรูปทรงสามมิติที่มีด้านปิดหัวท้ายแบบราบเรียบโดยด้านที่ปิดจะมีลักษณะเป็นวงกลมหรือวงรี โดยทั้งด้านหัวและท้ายจะมีจุดที่เชื่อมตรงต่อกันเท่ากันทั้ง 2 ด้าน
คุณสามารถศึกษาเพิ่มเติมเกี่ยวกับทรงกระบอกได้ที่ MathIsFun.com
ตัวอย่างข้างล่างจะเป็นตัวอย่างการสร้างรูปทรงกระบอก โดยค่ารัศมี (radius) จะเป็นค่าที่กำหนดขนาดของทรงกระบอกจากแกนกลาง และค่าความละเอียด (resolution) จะเป็นค่าที่กำหนดจำนวนส่วนตัดของรูปวงกลมที่ใช้สร้างด้านวงกลม 360 องศา
คุณยังสามารถกำหนดค่าเริ่มต้นและสิ้นสุดของหัว (start) ท้าย (end) ของแกนได้เช่นเดียวกับการกำหนดค่าแบบเดียวกันกับค่ารัศมี (radius)
หมายเหตุ: สามารถดูข้อมูลเพิ่มเติมเกี่ยวกับค่าความละเอียด (resolution) ของรูปทรง 3 มิติ ได้ที่หัวข้อ 3D Primitives
ค่าปริยาย:
หมายเหตุ หาก radiusStart หรือ radiusEnd มีค่าเท่ากับ 0 จะเป็นการสร้างทรงกรวย
cylinder({r: 1, h: 10}) cylinder({r: 1, h: 10, center: true}) // ค่าปริยายคือ center: false cylinder({r: 1, h: 10, center: [true, true, false]}) cylinder({r: 1, h: 10, round: true}) cylinder({r1: 3, r2: 0, h: 10}) cylinder({start: [0,0,0], end: [0,0,10], r1: 1, r2: 2, fn: 50})
คุณสามารถใช้ฟังก์ชันของไลบรารี่ CSG ในการสร้างทรงกระบอกได้ดังนี้ (หมายเหตุ: ไม่สามารถใช้ได้ใน API รุ่นที่ 2)
CSG.cylinder({ start: [0, -1, 0], end: [0, 1, 0], radius: 1, resolution: 16 }); CSG.cylinder({ start: [0, -1, 0], end: [0, 1, 0], radiusStart: 1, // radiusStart และ radiusEnd จะเป็นตัวกำหนดความเป็นทรงกระบอก หากด้านใดด้านหนึ่งเป็น 0 จะกลายเป็นทรงกรวย (Cone) แทน radiusEnd: 2, resolution: 16 }); CSG.roundedCylinder({ // ทรงกระบอกแบบด้านปิดหัวท้ายเป็นแบบโค้งมน start: [0, -1, 0], end: [0, 1, 0], radius: 1, resolution: 16 });