ตารางหกเหลี่ยม (ตารางหกเหลี่ยม) ถูกนำมาใช้ในบางเกม แต่ไม่ง่ายหรือธรรมดาเหมือนตารางสี่เหลี่ยม ฉันรวบรวมทรัพยากรบน hex mesh มาเกือบ 20 ปีแล้ว และฉันเขียนคู่มือนี้เกี่ยวกับแนวทางที่หรูหราที่สุดที่นำมาใช้ในโค้ดที่ง่ายที่สุด บทความนี้ใช้คำแนะนำของ Charles Fu และ Clark Verbrugge อย่างกว้างขวาง ฉันจะอธิบายวิธีต่างๆ ในการสร้าง mesh หกเหลี่ยม ความสัมพันธ์ของพวกมัน และอัลกอริธึมที่ใช้บ่อยที่สุด หลายส่วนของบทความนี้เป็นแบบโต้ตอบ: การเลือกประเภทตารางจะเปลี่ยนไดอะแกรม โค้ด และข้อความที่เกี่ยวข้อง (หมายเหตุต่อ: สิ่งนี้ใช้กับต้นฉบับเท่านั้น ฉันแนะนำให้คุณศึกษา ในการแปล ข้อมูลทั้งหมดของต้นฉบับจะถูกเก็บรักษาไว้ แต่ไม่มีการโต้ตอบ).
ตัวอย่างโค้ดในบทความเขียนด้วยรหัสเทียม ดังนั้นจึงง่ายต่อการอ่านและทำความเข้าใจเพื่อเขียนการใช้งานของคุณเอง
รูปหกเหลี่ยมที่มียอดแบน (ซ้าย) และยอดแหลม (ขวา)
หกเหลี่ยมมี 6 หน้า แต่ละหน้าจะมีรูปหกเหลี่ยมสองอันเหมือนกัน รูปหกเหลี่ยมมีจุดมุม 6 จุด แต่ละจุดมุมจะมีร่วมกันกับรูปหกเหลี่ยมสามอัน คุณสามารถอ่านเพิ่มเติมเกี่ยวกับจุดกึ่งกลาง ขอบ และมุมได้ในบทความของฉันเกี่ยวกับชิ้นส่วนตาข่าย (สี่เหลี่ยมจัตุรัส หกเหลี่ยม และสามเหลี่ยม)
ฟังก์ชัน hex_corner(ศูนย์กลาง, ขนาด, i): var angle_deg = 60 * i + 30 var angle_rad = PI / 180 * angle_deg return Point(center.x + size * cos(angle_rad), center.y + size * sin(angle_rad) )
ในการเติมรูปหกเหลี่ยม คุณจะต้องได้จุดยอดของรูปหลายเหลี่ยมจาก hex_corner(…, 0) ถึง hex_corner(…, 5) หากต้องการวาดโครงร่างของรูปหกเหลี่ยม คุณต้องใช้จุดยอดเหล่านี้แล้วลากเส้นอีกครั้งใน hex_corner(..., 0)
ความแตกต่างระหว่างการวางแนวทั้งสองคือการสลับ x และ y ส่งผลให้เกิดการเปลี่ยนแปลงมุม: รูปหกเหลี่ยมยอดเรียบมีมุม 0°, 60°, 120°, 180°, 240°, 300° และยอดแหลม รูปหกเหลี่ยมมีมุม 30 °, 90°, 150°, 210°, 270°, 330°
มุมหกเหลี่ยมที่มียอดแบนและแหลมคม
ความกว้างของหกเหลี่ยม ความกว้าง = sqrt(3)/2 * ความสูง ระยะห่างแนวนอนระหว่างรูปหกเหลี่ยมที่อยู่ติดกันคือ horiz = width
เกมบางเกมใช้ภาพพิกเซลสำหรับรูปหกเหลี่ยม ซึ่งไม่ตรงกับรูปหกเหลี่ยมปกติทุกประการ สูตรมุมและตำแหน่งที่อธิบายไว้ในส่วนนี้จะไม่ตรงกับขนาดของรูปหกเหลี่ยมดังกล่าว บทความที่เหลือที่อธิบายอัลกอริธึม hex mesh จะใช้แม้ว่ารูปหกเหลี่ยมจะยืดหรือแบนเล็กน้อยก็ตาม
การจัดเรียงแนวนอน "คี่-r"
การจัดเรียงแนวนอน “even-r”
การจัดเรียง "คี่-q" ในแนวตั้ง
การจัดเรียงแนวตั้ง “even-q”
ลองใช้ตารางลูกบาศก์และ มาตัดมันออกกันเถอะระนาบแนวทแยงที่ x + y + z = 0 นี่เป็นแนวคิดที่แปลก แต่จะช่วยให้เราลดความซับซ้อนของอัลกอริธึมตาข่ายหกเหลี่ยมได้ โดยเฉพาะอย่างยิ่ง เราจะสามารถใช้การดำเนินการมาตรฐานจากพิกัดคาร์ทีเซียนได้ เช่น การรวมและการลบพิกัด การคูณและหารด้วยปริมาณสเกลาร์ และระยะทาง
สังเกตแกนหลักสามแกนบนตารางของลูกบาศก์และความสัมพันธ์กับแกนทั้งหก เส้นทแยงมุมทิศทางของตารางหกเหลี่ยม แกนทแยงของตารางจะสอดคล้องกับทิศทางหลักของตารางหกเหลี่ยม
เนื่องจากเรามีอัลกอริทึมสำหรับตาข่ายสี่เหลี่ยมและลูกบาศก์อยู่แล้ว การใช้พิกัดลูกบาศก์จึงช่วยให้เราสามารถปรับอัลกอริทึมเหล่านี้ให้เป็นตาข่ายหกเหลี่ยมได้ ฉันจะใช้ระบบนี้กับอัลกอริทึมส่วนใหญ่ของบทความ หากต้องการใช้อัลกอริธึมกับระบบพิกัดอื่น ฉันจะแปลงพิกัดลูกบาศก์ รันอัลกอริทึม แล้วแปลงกลับ
เรียนรู้ว่าพิกัดลูกบาศก์ทำงานอย่างไรสำหรับตาข่ายหกเหลี่ยม เมื่อคุณเลือกรูปหกเหลี่ยม พิกัดลูกบาศก์ที่สอดคล้องกับแกนทั้งสามจะถูกไฮไลต์
มีมากมาย ระบบต่างๆพิกัดของลูกบาศก์และหกเหลี่ยม ในบางสภาวะจะแตกต่างจาก x + y + z = 0 ฉันแสดงเพียงระบบเดียวในหลาย ๆ ระบบ คุณยังสามารถสร้างพิกัดลูกบาศก์ด้วย x-y , y-z , z-x ซึ่งมีคุณสมบัติที่น่าสนใจเป็นของตัวเอง แต่ฉันจะไม่เข้าไปดูพวกมันที่นี่
แต่คุณอาจโต้แย้งว่าคุณไม่ต้องการเก็บตัวเลข 3 ตัวสำหรับพิกัดเพราะคุณไม่รู้วิธีจัดเก็บแผนที่ในลักษณะนั้น
มีระบบพิกัดลูกบาศก์หลายระบบและหลายระบบตามแนวแกน ฉันจะไม่ครอบคลุมทุกชุดค่าผสมในคู่มือนี้ ฉันจะเลือกตัวแปรสองตัว q (คอลัมน์) และ r (แถว) ในไดอะแกรมในบทความนี้ q สอดคล้องกับ x และ r สอดคล้องกับ z แต่การติดต่อนี้เป็นไปตามอำเภอใจ เนื่องจากคุณสามารถหมุนและหมุนไดอะแกรมเพื่อให้ได้การติดต่อที่แตกต่างกัน
ข้อดีของระบบนี้เหนือกริดการกระจัดคืออัลกอริธึมสามารถเข้าใจได้มากขึ้น ข้อเสียของระบบคือการจัดเก็บการ์ดสี่เหลี่ยมนั้นค่อนข้างแปลก ดูส่วนการบันทึกแผนที่ อัลกอริธึมบางตัวมีความชัดเจนยิ่งขึ้นในพิกัดลูกบาศก์ แต่เนื่องจากเรามีเงื่อนไข x + y + z = 0 เราจึงสามารถคำนวณพิกัดโดยนัยตัวที่สามและใช้ในอัลกอริธึมเหล่านี้ได้ ในโครงการของฉัน ฉันเรียกแกน q, r, s ดังนั้นเงื่อนไขจะดูเหมือน q + r + s = 0 และฉันสามารถคำนวณ s = -q - r ได้เมื่อจำเป็น
แกนคือทิศทางที่พิกัดที่สอดคล้องกันเพิ่มขึ้น ตั้งฉากกับแกนคือเส้นที่พิกัดคงที่ แผนภาพตารางด้านบนแสดงเส้นตั้งฉาก
พิกัดแกนมีความสัมพันธ์อย่างใกล้ชิดกับพิกัดลูกบาศก์ ดังนั้นการแปลงจึงทำได้ง่าย:
# แปลงพิกัดลูกบาศก์เป็นพิกัดแกน q = x r = z # แปลงพิกัดแกนเป็นลูกบาศก์ x = q z = r y = -x-z
ในโค้ด ฟังก์ชันทั้งสองนี้สามารถเขียนได้ดังนี้:
ฟังก์ชัน cube_to_hex(h): # axis var q = h.x var r = h.z return Hex(q, r) function hex_to_cube(h): # ลูกบาศก์ var x = h.q var z = h.r var y = -x-z return Cube(x, y , ซ)
พิกัดออฟเซ็ตค่อนข้างซับซ้อนกว่าเล็กน้อย:
ทิศทางของตัวแปร = [ คิวบ์(+1, -1, 0), คิวบ์(+1, 0, -1), คิวบ์(0, +1, -1), คิวบ์(-1, +1, 0), คิวบ์( -1, 0, +1), Cube(0, -1, +1) ] ฟังก์ชัน cube_direction(ทิศทาง): ฟังก์ชันทิศทางการส่งคืน cube_neighbor(hex, ทิศทาง): ส่งคืน cube_add(hex, cube_direction(ทิศทาง))
ทิศทาง Var = [ Hex(+1, 0), Hex(+1, -1), Hex(0, -1), Hex(-1, 0), Hex(-1, +1), Hex(0, +1) ] ฟังก์ชั่น hex_direction(ทิศทาง): กลับฟังก์ชันทิศทาง hex_neighbor(hex, ทิศทาง): var dir = hex_direction(ทิศทาง) กลับ Hex(hex.q + dir.q, hex.r + dir.r)
เช่นเคย เราสร้างตารางตัวเลขที่ต้องเพิ่มใน col และ row อย่างไรก็ตาม คราวนี้เราจะมีสองอาร์เรย์ อาร์เรย์หนึ่งสำหรับคอลัมน์/แถวคี่ และอีกอาร์เรย์สำหรับอาร์เรย์คู่ ดูที่ (1,1) ในภาพแผนที่กริดด้านบน และสังเกตว่าคอลัมน์และแถวเปลี่ยนไปอย่างไรเมื่อคุณเคลื่อนที่ไปในแต่ละทิศทางในหกทิศทาง ทีนี้ เรามาทำซ้ำขั้นตอนสำหรับ (2,2) ตารางและโค้ดจะแตกต่างกันสำหรับกริดการกระจัดแต่ละประเภทจากทั้งหมดสี่ประเภท นี่คือโค้ดที่เกี่ยวข้องสำหรับกริดแต่ละประเภท
คี่-อาร์
ทิศทาง var = [ [ Hex(+1, 0), Hex(0, -1), Hex(-1, -1), Hex(-1, 0), Hex(-1, +1), Hex(0 , +1) ], [ ฐานสิบหก(+1, 0), ฐานสิบหก(+1, -1), ฐานสิบหก(0, -1), ฐานสิบหก(-1, 0), ฐานสิบหก(0, +1), ฐานสิบหก( +1, +1) ] ] ฟังก์ชั่น offset_neighbor(hex, ทิศทาง): var parity = hex.row & 1 var dir = ทิศทางส่งคืน Hex(hex.col + dir.col, hex.row + dir.row)
คู่-r
ทิศทาง var = [ [ Hex(+1, 0), Hex(+1, -1), Hex(0, -1), Hex(-1, 0), Hex(0, +1), Hex(+1) , +1) ], [ ฐานสิบหก(+1, 0), ฐานสิบหก(0, -1), ฐานสิบหก(-1, -1), ฐานสิบหก(-1, 0), ฐานสิบหก(-1, +1), ฐานสิบหก (0, +1) ] ] ฟังก์ชั่น offset_neighbor(hex, ทิศทาง): var parity = hex.row & 1 var dir = ทิศทางส่งคืน Hex(hex.col + dir.col, hex.row + dir.row)
ตารางสำหรับแถวคู่ (EVEN) และคี่ (ODD)
คี่-คิว
ทิศทาง var = [ [ ฐานสิบหก (+1, 0), ฐานสิบหก (+1, -1), ฐานสิบหก (0, -1), ฐานสิบหก (-1, -1), ฐานสิบหก (-1, 0), ฐานสิบหก (0 , +1) ], [ ฐานสิบหก(+1, +1), ฐานสิบหก(+1, 0), ฐานสิบหก(0, -1), ฐานสิบหก(-1, 0), ฐานสิบหก(-1, +1), ฐานสิบหก (0, +1) ] ] ฟังก์ชั่น offset_neighbor(hex, ทิศทาง): var parity = hex.col & 1 var dir = ทิศทางส่งคืน Hex(hex.col + dir.col, hex.row + dir.row)
คู่-q
ทิศทาง var = [ [ Hex(+1, +1), Hex(+1, 0), Hex(0, -1), Hex(-1, 0), Hex(-1, +1), Hex(0 , +1) ], [ ฐานสิบหก(+1, 0), ฐานสิบหก(+1, -1), ฐานสิบหก(0, -1), ฐานสิบหก(-1, -1), ฐานสิบหก(-1, 0), ฐานสิบหก (0, +1) ] ] ฟังก์ชั่น offset_neighbor(hex, ทิศทาง): var parity = hex.col & 1 var dir = ทิศทางส่งคืน Hex(hex.col + dir.col, hex.row + dir.row)
ตารางสำหรับคอลัมน์คู่ (EVEN) และคี่ (ODD)
เส้นทแยงมุมต่างๆ = [ คิวบ์(+2, -1, -1), คิวบ์(+1, +1, -2), คิวบ์(-1, +2, -1), คิวบ์(-2, +1, +1) ), Cube(-1, -1, +2), Cube(+1, -2, +1) ] ฟังก์ชัน cube_diagonal_neighbor(hex, ทิศทาง): return cube_add(hex, diagonals)
เช่นเคย เราสามารถแปลงพิกัดเหล่านี้เป็นพิกัดแนวแกนได้โดยทิ้งพิกัดหนึ่งในสามพิกัดนั้น หรือแปลงให้เป็นพิกัดออฟเซ็ตโดยการคำนวณผลลัพธ์ก่อน
ฟังก์ชัน cube_distance(a, b): return (abs(a.x - b.x) + abs(a.y - b.y) + abs(a.z - b.z)) / 2
ค่าที่เทียบเท่ากันของสัญกรณ์นี้ก็คือบอกว่าหนึ่งในสามพิกัดนั้นจะต้องเป็นผลรวมของอีกสองพิกัดที่เหลือ จากนั้นให้ถือว่าเป็นระยะทาง คุณสามารถเลือกรูปแบบการลดลงครึ่งหนึ่งหรือรูปแบบมูลค่าสูงสุดด้านล่าง แต่ให้ผลลัพธ์เหมือนกัน:
ฟังก์ชัน cube_distance(a, b): คืนค่าสูงสุด(abs(a.x - b.x), abs(a.y - b.y), abs(a.z - b.z))
ในรูปค่าสูงสุดจะถูกเน้นด้วยสี โปรดทราบว่าแต่ละสีแสดงถึงหนึ่งในหกทิศทาง "แนวทแยง"
กิฟ
ฟังก์ชัน hex_distance(a, b): var ac = hex_to_cube(a) var bc = hex_to_cube(b) ส่งคืน cube_distance(ac, bc)
หากคอมไพลเลอร์แบบอินไลน์ (อินไลน์) hex_to_cube และ cube_distance ในกรณีของคุณ มันจะสร้างโค้ดดังนี้:
ฟังก์ชัน hex_distance(a, b): return (abs(a.q - b.q) + abs(a.q + a.r - b.q - b.r) + abs(a.r - b.r)) / 2
มีหลายวิธีในการเขียนระยะห่างระหว่างรูปหกเหลี่ยมในพิกัดแกน แต่ไม่คำนึงถึงวิธีการเขียนก็ตาม ระยะห่างระหว่างรูปหกเหลี่ยมในระบบแกนจะแยกจากระยะแมนฮัตตันในระบบลูกบาศก์- ตัวอย่างเช่น "ความแตกต่างของความแตกต่าง" ที่อธิบายไว้นั้นได้มาจากการเขียน a.q + a.r - b.q - b.r เป็น a.q - b.q + a.r - b.r และใช้รูปแบบค่าสูงสุดแทนรูปแบบการแบ่งแยก cube_distance ทั้งหมดนี้คล้ายกันหากคุณเห็นการเชื่อมต่อกับพิกัดลูกบาศก์
ฟังก์ชัน offset_distance(a, b): var ac = offset_to_cube(a) var bc = offset_to_cube(b) ส่งคืน cube_distance(ac, bc)
เราจะใช้รูปแบบเดียวกันสำหรับอัลกอริทึมหลายๆ ตัว เช่น แปลงจากรูปหกเหลี่ยมเป็นลูกบาศก์ เรียกใช้อัลกอริทึมเวอร์ชันลูกบาศก์ และแปลงผลลัพธ์ลูกบาศก์เป็นพิกัดหกเหลี่ยม (พิกัดแนวแกนหรือออฟเซ็ต)
กิฟ
ฟังก์ชั่น lerp(a, b, t): // สำหรับ float ส่งคืน a + (b - a) * t ฟังก์ชัน cube_lerp(a, b, t): // สำหรับรูปหกเหลี่ยมส่งคืน Cube(lerp(a.x, b.x, t), lerp(a.y, b.y, t), lerp(a.z, b.z, t)) ฟังก์ชัน cube_linedraw(a, b): var N = cube_distance(a, b) var results = สำหรับแต่ละ 0 ≤ i ≤ N: results.append( cube_round(cube_lerp(a, b, 1.0/N * i))) ส่งคืนผลลัพธ์
หมายเหตุ:
เราสามารถทำสิ่งที่ตรงกันข้ามจากสูตรสำหรับระยะห่างระหว่างรูปหกเหลี่ยม Distance = max(abs(dx), abs(dy), abs(dz)) ในการค้นหารูปหกเหลี่ยมทั้งหมดภายใน N เราต้องการ max(abs(dx), abs(dy), abs(dz)) ≤ N ซึ่งหมายความว่าจำเป็นต้องมีค่าทั้งสามค่า: abs(dx) ≤ N และ abs(dy) ≤ N และ abs(dz) ≤ N การลบค่าสัมบูรณ์เราจะได้ -N ≤ dx ≤ N และ -N ≤ dy ≤ N และ -N ≤ dz ≤ N ในโค้ดนี่จะเป็นลูปแบบซ้อน:
ผลลัพธ์ Var = สำหรับแต่ละ -N ≤ dx ≤ N: สำหรับแต่ละ -N ≤ dy ≤ N: สำหรับแต่ละ -N ≤ dz ≤ N: ถ้า dx + dy + dz = 0: results.append(cube_add(center, Cube(dx , dy, dz)))
วงจรนี้จะได้ผล แต่จะไม่ได้ผลเลยทีเดียว จากค่า dz ทั้งหมดที่เราวนซ้ำ มีเพียงค่าเดียวเท่านั้นที่ตรงตามเงื่อนไขคิวบ์ dx + dy + dz = 0 เราจะคำนวณค่า dz ที่ตรงตามเงื่อนไขแทน:
ผลลัพธ์ Var = สำหรับแต่ละ -N ≤ dx ≤ N: สำหรับแต่ละค่าสูงสุด (-N, -dx-N) ≤ dy ≤ นาที(N, -dx+N): var dz = -dx-dy results.append(cube_add( ศูนย์กลาง, คิวบ์(dx, dy, dz)))
วงจรนี้จะผ่านไปตามพิกัดที่ต้องการเท่านั้น ในรูปแต่ละช่วงจะเป็นเส้นคู่ แต่ละบรรทัดคือความไม่เท่าเทียมกัน เรานำรูปหกเหลี่ยมทั้งหมดที่ตอบสนองความไม่เท่าเทียมกันทั้งหก
กิฟ
คุณสามารถแก้ไขปัญหานี้ได้จากมุมมองของพีชคณิตหรือเรขาคณิต ในเชิงพีชคณิต แต่ละภูมิภาคจะแสดงเป็นเงื่อนไขความไม่เท่าเทียมกันในรูปแบบ -N ≤ dx ≤ N และเราจำเป็นต้องค้นหาจุดตัดของเงื่อนไขเหล่านี้ ในเชิงเรขาคณิต แต่ละขอบเขตจะเป็นลูกบาศก์ในอวกาศ 3 มิติ และเราจะตัดกันสองลูกบาศก์ในอวกาศ 3 มิติ เพื่อให้ได้ลูกบาศก์ในอวกาศ 3 มิติ จากนั้นเราฉายมันกลับลงบนระนาบ x + y + z = 0 เพื่อให้ได้รูปหกเหลี่ยม ผมจะแก้ปัญหานี้ด้วยพีชคณิต
อันดับแรก เราจะเขียนเงื่อนไข -N ≤ dx ≤ N ใหม่ในรูปแบบทั่วไป x min ≤ x ≤ x max และรับ x min = center.x - N และ x max = center.x + N ลองทำแบบเดียวกันกับ y และ z ซึ่งส่งผลให้โค้ดมีรูปแบบทั่วไปจากส่วนก่อนหน้า:
ผลลัพธ์ Var = สำหรับแต่ละ xmin ≤ x ≤ xmax: สำหรับแต่ละค่า max(ymin, -x-zmax) ≤ y ≤ min(ymax, -x-zmin): var z = -x-y results.append(Cube(x, y, ซ))
จุดตัดของสองช่วง a ≤ x ≤ b และ c ≤ x ≤ d คือค่าสูงสุด(a, c) ≤ x ≤ min(b, d) เนื่องจากพื้นที่ของรูปหกเหลี่ยมแสดงเป็นช่วงบน x, y, z เราจึงสามารถตัดกันแต่ละช่วงของ x, y, z แยกจากกัน จากนั้นใช้การวนซ้ำแบบซ้อนเพื่อสร้างรายการรูปหกเหลี่ยมในจุดตัด สำหรับพื้นที่หนึ่งของรูปหกเหลี่ยม เราใช้ x min = H.x - N และ x max = H.x + N ในทำนองเดียวกันสำหรับ y และ z . สำหรับจุดตัดของบริเวณหกเหลี่ยมสองแห่ง เราจะหา x min = max(H1.x - N, H2.x - N) และ x max = min(H1.x + N, H2.x + N) ในทำนองเดียวกันสำหรับ y และ z รูปแบบเดียวกันนี้ใช้ได้กับจุดตัดของพื้นที่สามแห่งขึ้นไป
กิฟ
ฟังก์ชัน cube_reachable(start, movement): var visit = set() เพิ่ม start to visit var fringes = fringes.append() สำหรับแต่ละ 1< k ≤ movement: fringes.append() for each cube in fringes: for each 0 ≤ dir < 6: var neighbor = cube_neighbor(cube, dir) if neighbor not in visited, not blocked: add neighbor to visited fringes[k].append(neighbor) return visited
การหมุนไปทางขวา 60° จะเลื่อนแต่ละพิกัดไปทางขวาหนึ่งตำแหน่ง:
[ x, y, z] ถึง [-z, -x, -y]
การหมุนไปทางซ้าย 60° จะย้ายแต่ละพิกัดไปทางซ้ายหนึ่งตำแหน่ง:
[ x, y, z] ถึง [-y, -z, -x]
นี่คือลำดับการหมุนของตำแหน่ง P รอบตำแหน่งศูนย์กลาง C โดยสมบูรณ์ ซึ่งส่งผลให้ได้ตำแหน่ง R ใหม่:
ฟังก์ชัน cube_ring(center, radius): var results = # รหัสนี้ใช้ไม่ได้กับรัศมี == 0; คุณเข้าใจไหมว่าทำไม?< 6:
for each 0 ≤ j < radius:
results.append(cube)
cube = cube_neighbor(cube, i)
return results
var cube = cube_add(center, cube_scale(cube_direction(4), radius)) สำหรับแต่ละ 0 ≤ i
เมื่อผ่านวงแหวนในรูปแบบเกลียวเราสามารถเติมส่วนด้านในของวงแหวนได้:
การเคลื่อนที่ผ่านรูปหกเหลี่ยมด้วยวิธีนี้สามารถใช้เพื่อคำนวณช่วงการเคลื่อนที่ได้ (ดูด้านบน)
อัลกอริธึมนี้อาจทำงานช้าในพื้นที่ขนาดใหญ่ แต่ใช้งานได้ง่าย ดังนั้นฉันขอแนะนำให้เริ่มต้นด้วย
กิฟ
ฉันต้องการขยายคู่มือนี้ในอนาคต ฉันมี
เนื้อหา:
รูปหกเหลี่ยมปกติหรือที่เรียกว่ารูปหกเหลี่ยมสมบูรณ์ มีด้านที่เท่ากันหกด้านและมุมที่เท่ากันหกมุม คุณสามารถวาดรูปหกเหลี่ยมด้วยเทปวัดและไม้โปรแทรกเตอร์ รูปหกเหลี่ยมหยาบที่มีวัตถุทรงกลมและไม้บรรทัด หรือรูปหกเหลี่ยมที่หยาบกว่านั้นโดยใช้เพียงดินสอและสัญชาตญาณเพียงเล็กน้อย หากคุณต้องการทราบวิธีการวาดรูปหกเหลี่ยม ในรูปแบบต่างๆ– เพียงแค่อ่านต่อ
ลวดลายเรขาคณิตกำลังได้รับความนิยมอย่างมากค่ะ เมื่อเร็วๆ นี้- ในบทเรียนวันนี้ เราจะได้เรียนรู้วิธีสร้างรูปแบบใดรูปแบบหนึ่งเหล่านี้ การใช้การเปลี่ยนแปลง การพิมพ์ และสีที่ทันสมัย เราจะสร้างรูปแบบที่คุณสามารถใช้ในการออกแบบเว็บและสิ่งพิมพ์
ขั้นตอนที่ 2
วาดรูปหกเหลี่ยมอีกอันให้เล็กลงคราวนี้ - เลือกรัศมี 20แต้ม.
ขั้นตอนที่ 1
เลือกรูปหกเหลี่ยมทั้งสองและจัดตำแหน่งให้อยู่ตรงกลาง (แนวตั้งและแนวนอน) การใช้เครื่องมือ เบลนด์/ทรานซิชัน (W)เลือกรูปหกเหลี่ยมทั้งสองแล้วเปลี่ยนให้เป็น 6 ขั้นตอน- เพื่อให้มองเห็นได้ง่ายขึ้นควรเปลี่ยนสีรูปทรงก่อนเคลื่อนย้าย
ขั้นตอนที่ 1
เครื่องมือ ส่วนของเส้น (\)ลากเส้นตัดผ่านรูปหกเหลี่ยมตรงกลางจากซ้ายสุดไปมุมขวาสุด ลากเส้นอีกสองเส้นข้ามรูปหกเหลี่ยมที่อยู่ตรงกลางจากมุมตรงข้าม
ขั้นตอนที่ 1
ก่อนที่เราจะเริ่มทาสีส่วนต่างๆ เรามาตัดสินใจเลือกจานสีกันก่อน นี่คือจานสีจากตัวอย่าง:
ในตัวอย่างนี้ โหมด CMYK จะถูกใช้งานทันทีเพื่อให้สามารถพิมพ์ลวดลายได้โดยไม่มีการเปลี่ยนแปลง
ขั้นตอนที่ 1
กลุ่ม (Control-G)ส่วนและรูปหกเหลี่ยมทั้งหมดหลังจากที่คุณระบายสีเสร็จแล้ว คัดลอก (Control-C)และ วาง (Control-V)กลุ่มรูปหกเหลี่ยม มาตั้งชื่อกลุ่มเดิมกันเถอะ หกเหลี่ยมกและสำเนาของมัน หกเหลี่ยมบี- จัดแนวกลุ่ม
ขั้นตอนที่ 2
นำมาใช้ การไล่ระดับสีเชิงเส้นถึงกลุ่ม หกเหลี่ยมบีในพาเลตต์ การไล่ระดับสีตั้งค่าการเติมเป็นสีม่วง ( C60 M86 Y45 K42) เป็นสีครีม ( C0 M13 Y57 K0).
มาเรียนรู้วิธีวาดปริซึมหกเหลี่ยมในตำแหน่งต่างๆ กัน
ศึกษาวิธีการต่างๆ ในการสร้างรูปหกเหลี่ยมปกติ วาดรูปหกเหลี่ยม ตรวจสอบความถูกต้องของการก่อสร้าง สร้างปริซึมหกเหลี่ยมตามรูปหกเหลี่ยม
พิจารณาปริซึมหกเหลี่ยมในรูป 3.52 และเส้นโครงตั้งฉากในรูปที่ 3 3.53. ที่ฐานของปริซึมหกเหลี่ยม (หกเหลี่ยม) เป็นรูปหกเหลี่ยมปกติ ใบหน้าด้านข้างเป็นรูปสี่เหลี่ยมผืนผ้าเหมือนกัน เพื่อที่จะพรรณนารูปหกเหลี่ยมในเปอร์สเปคทีฟได้อย่างถูกต้อง คุณต้องเรียนรู้วิธีแสดงฐานของมันในเปอร์สเปคทีฟอย่างถูกต้อง (รูปที่ 3.54) ในรูปหกเหลี่ยมในรูป จุดยอด 3.55 ถูกกำหนดด้วยตัวเลขตั้งแต่ 1 ถึง 6 หากคุณเชื่อมต่อจุดที่ 1 และ 3, 4 และ 6 ด้วยเส้นตรงแนวตั้ง คุณจะสังเกตเห็นว่าเส้นตรงเหล่านี้พร้อมกับจุดศูนย์กลางของวงกลม แบ่งเส้นผ่านศูนย์กลาง 5 - 2 ออกเป็นสี่ส่วนเท่า ๆ กัน (ส่วนเหล่านี้ระบุด้วยส่วนโค้ง ). ด้านตรงข้ามของรูปหกเหลี่ยมขนานกันและเป็นเส้นที่ลากผ่านจุดศูนย์กลางและเชื่อมต่อจุดยอดสองจุด (เช่น ด้าน 6 - 1 และ 4 - 3 ขนานกับเส้น 5 - 2) การสังเกตเหล่านี้จะช่วยให้คุณสร้างรูปหกเหลี่ยมในเปอร์สเปคทีฟ รวมถึงตรวจสอบความถูกต้องของโครงสร้างนี้ สร้าง หกเหลี่ยมปกติตามการนำเสนอ มีสองวิธี: ขึ้นอยู่กับวงกลมที่มีขอบเขตและขึ้นอยู่กับสี่เหลี่ยมจัตุรัส
ขึ้นอยู่กับวงกลมที่ล้อมรอบ ดูที่รูป 3.56. จุดยอดทั้งหมดของรูปหกเหลี่ยมปกติจะอยู่ในเส้นรอบวงวงกลมซึ่งมีรัศมีเท่ากับด้านของรูปหกเหลี่ยม
หกเหลี่ยมแนวนอน วาดวงรีแนวนอนของช่องเปิดที่ต้องการ เช่น วงกลมที่มีขอบเขตในเปอร์สเป็คทีฟ ตอนนี้คุณต้องหาจุดหกจุดบนนั้น ซึ่งเป็นจุดยอดของรูปหกเหลี่ยม วาดเส้นผ่านศูนย์กลางของวงกลมที่กำหนดผ่านจุดศูนย์กลาง (รูปที่ 3.57) จุดสูงสุดของเส้นผ่านศูนย์กลาง - 5 และ 2 ซึ่งอยู่บนวงรีคือจุดยอดของรูปหกเหลี่ยม ในการค้นหาจุดยอดที่เหลือจำเป็นต้องแบ่งเส้นผ่านศูนย์กลางนี้ออกเป็นสี่ส่วนเท่า ๆ กัน เส้นผ่านศูนย์กลางถูกหารด้วยจุดศูนย์กลางของวงกลมออกเป็นสองรัศมีแล้ว ที่เหลือก็แค่แบ่งแต่ละรัศมีออกครึ่งหนึ่ง ในการวาดภาพเปอร์สเปคทีฟ ทั้งสี่ส่วนจะหดตัวเท่ากันเมื่อเคลื่อนออกจากตัวแสดง (รูปที่ 3.58) ตอนนี้ลากผ่านจุดกึ่งกลางของรัศมี - จุด A และ B - เส้นตรงตั้งฉากกับเส้นตรง 5 - 2 คุณสามารถค้นหาทิศทางได้โดยใช้แทนเจนต์กับวงรีที่จุดที่ 5 และ 2 (รูปที่ 3.59) แทนเจนต์เหล่านี้จะตั้งฉากกับเส้นผ่านศูนย์กลาง 5 - 2 และเส้นที่ลากผ่านจุด A และ B ขนานกับแทนเจนต์เหล่านี้จะตั้งฉากกับเส้น 5 - 2 เช่นกัน กำหนดจุดที่ได้รับที่จุดตัดของเส้นเหล่านี้ด้วยวงรีเป็น 1, 3, 4, 6 ( รูปที่ 3.60). เชื่อมต่อจุดยอดทั้งหกด้วยเส้นตรง (รูปที่ 3.61)
ตรวจสอบการก่อสร้างของคุณถูกต้อง ในรูปแบบที่แตกต่างกัน- หากการก่อสร้างถูกต้อง เส้นที่เชื่อมต่อจุดยอดตรงข้ามของรูปหกเหลี่ยมจะตัดกันที่กึ่งกลางวงกลม (รูปที่ 3.62) และด้านตรงข้ามของรูปหกเหลี่ยมจะขนานกับเส้นผ่านศูนย์กลางที่สอดคล้องกัน (รูปที่ 3.63) วิธีการตรวจสอบแบบอื่นแสดงไว้ในรูปที่ 1 3.64.
หกเหลี่ยมแนวตั้ง ในรูปหกเหลี่ยมดังกล่าว เส้นตรงที่เชื่อมจุด 7 และ 3, b และ 4 รวมถึงแทนเจนต์ของวงกลมที่ขอบที่ 5 และ 2 มีทิศทางแนวตั้งและคงไว้ในการวาดเปอร์สเปคทีฟ ดังนั้น เมื่อวาดแทนเจนต์แนวตั้งสองตัวลงในวงรี เราจะพบจุดที่ 5 และ 2 (จุดสัมผัส) เชื่อมต่อด้วยเส้นตรงแล้วแบ่งเส้นผ่านศูนย์กลางผลลัพธ์ 5 - 2 ออกเป็น 4 ส่วนเท่า ๆ กันโดยคำนึงถึงการลดเปอร์สเปคทีฟ (รูปที่ 3.65) ลากเส้นแนวตั้งผ่านจุด A และ B และที่จุดตัดกับวงรีให้หาจุดที่ 1,3,6l4 จากนั้นเชื่อมต่อจุดที่ 1 - 6 ตามลำดับด้วยเส้นตรง (รูปที่ 3.66) ตรวจสอบความถูกต้องของโครงสร้างหกเหลี่ยมในลักษณะเดียวกับตัวอย่างก่อนหน้า
วิธีการสร้างรูปหกเหลี่ยมที่อธิบายไว้ช่วยให้เราได้รูปนี้โดยอิงจากวงกลม ซึ่งง่ายต่อการพรรณนาในเปอร์สเป็คทีฟมากกว่ากำลังสองตามสัดส่วนที่กำหนด นั่นเป็นเหตุผล วิธีนี้การสร้างรูปหกเหลี่ยมดูเหมือนจะแม่นยำและเป็นสากลที่สุด วิธีการก่อสร้างแบบสี่เหลี่ยมจัตุรัสทำให้ง่ายต่อการพรรณนารูปหกเหลี่ยมในกรณีที่มีลูกบาศก์อยู่แล้วในภาพวาด หรืออีกนัยหนึ่งคือเมื่อมีการกำหนดสัดส่วนของสี่เหลี่ยมจัตุรัสและทิศทางของด้านข้าง
ขึ้นอยู่กับสี่เหลี่ยมจัตุรัส ดูที่รูป 3.67. รูปหกเหลี่ยมที่จารึกไว้ในสี่เหลี่ยมจัตุรัสจะเท่ากับด้านข้างของสี่เหลี่ยมจัตุรัสในทิศทางแนวนอน 5 - 2 และน้อยกว่าความยาวในทิศทางแนวตั้ง
หกเหลี่ยมแนวตั้ง วาดรูปสี่เหลี่ยมแนวตั้งในเปอร์สเปคทีฟ ลากเส้นตรงผ่านจุดตัดของเส้นทแยงมุมขนานกับด้านแนวนอน แบ่งส่วนที่เป็นผลลัพธ์ 5 - 2 ออกเป็นสี่ส่วนเท่า ๆ กันแล้วลากเส้นแนวตั้งผ่านจุด A และ B (รูปที่ 3.68) เส้นแบ่งรูปหกเหลี่ยมที่ด้านบนและด้านล่างไม่ตรงกับด้านข้างของสี่เหลี่ยมจัตุรัส วาดพวกมันที่ระยะหนึ่ง (1114 a) จากด้านแนวนอนของสี่เหลี่ยมจัตุรัสและขนานกับพวกมัน โดยการเชื่อมต่อจุดที่ 1 และ 3 ที่พบในลักษณะนี้กับจุดที่ 2 และจุดที่ 6 และ 4 กับจุดที่ 5 เราจะได้รูปหกเหลี่ยม (รูปที่ 3.69)
รูปหกเหลี่ยมแนวนอนถูกสร้างขึ้นในลำดับเดียวกัน (รูปที่ 3.70 และ 3.71)
วิธีการก่อสร้างนี้เหมาะสำหรับรูปหกเหลี่ยมที่มีช่องเปิดเพียงพอเท่านั้น หากช่องเปิดของรูปหกเหลี่ยมไม่มีนัยสำคัญ ควรใช้วิธีตามวงกลมที่มีเส้นรอบวงจะดีกว่า หากต้องการตรวจสอบรูปหกเหลี่ยมที่สร้างผ่านสี่เหลี่ยมจัตุรัส คุณสามารถใช้วิธีการที่คุณรู้จักอยู่แล้วได้
นอกจากนี้ยังมีวิธีอื่น - เพื่ออธิบายวงกลมรอบรูปหกเหลี่ยมที่เกิดขึ้น (ในรูปวาดของคุณ - วงรี) จุดยอดทั้งหมดของรูปหกเหลี่ยมจะต้องอยู่ในวงรีนี้
เมื่อคุณเชี่ยวชาญทักษะการวาดรูปหกเหลี่ยมแล้ว คุณจะมีอิสระในการวาดปริซึมหกเหลี่ยมต่อไป ดูแผนภาพในรูปอย่างระมัดระวัง 3.72 เช่นเดียวกับไดอะแกรมสำหรับสร้างปริซึมหกเหลี่ยมโดยอิงจากวงกลมที่มีขอบเขต (รูปที่ 3.73; 3.74 และ 3.75) และอิงจากสี่เหลี่ยมจัตุรัส (รูปที่ 3.76; 3.77 และ 3.78) วาดรูปหกเหลี่ยมแนวตั้งและแนวนอนด้วยวิธีต่างๆ ในการวาดภาพหกเหลี่ยมแนวตั้ง ด้านยาวของหน้าปัดด้านข้างจะเป็นเส้นตรงแนวตั้งขนานกัน และฐานหกเหลี่ยมจะเปิดออกมากขึ้นเมื่ออยู่ห่างจากเส้นขอบฟ้า ในการวาดภาพหกเหลี่ยมแนวนอน ด้านยาวของใบหน้าด้านข้างจะมาบรรจบกันที่จุดที่หายไปบนขอบฟ้า และการเปิดฐานหกเหลี่ยมจะยิ่งมากขึ้นเมื่ออยู่ห่างจากผู้ดู เมื่อวาดภาพหกเหลี่ยม ตรวจสอบให้แน่ใจว่าขอบขนานของฐานทั้งสองมาบรรจบกันในเปอร์สเปคทีฟ (รูปที่ 3.79; 3.80)
โครงสร้างทางเรขาคณิตเป็นส่วนสำคัญของการฝึก พวกมันก่อให้เกิดการคิดเชิงพื้นที่และเชิงตรรกะ และยังช่วยให้เราเข้าใจความถูกต้องทางเรขาคณิตแบบดั้งเดิมและเป็นธรรมชาติอีกด้วย สิ่งก่อสร้างถูกสร้างขึ้นบนเครื่องบินโดยใช้เข็มทิศและไม้บรรทัด เครื่องมือเหล่านี้สามารถใช้สร้างจำนวนมากได้ รูปทรงเรขาคณิต- ในขณะเดียวกัน ตัวเลขจำนวนมากที่ดูค่อนข้างยากก็ถูกสร้างขึ้นโดยใช้กฎที่ง่ายที่สุด ตัวอย่างเช่น วิธีสร้างรูปหกเหลี่ยมปกติสามารถอธิบายได้เพียงไม่กี่คำ
คุณจะต้อง
1. วาดวงกลม กำหนดระยะห่างระหว่างขาของเข็มทิศ ระยะนี้จะเป็นรัศมีของวงกลม เลือกรัศมีในลักษณะที่ทำให้การวาดวงกลมทำได้สะดวก วงกลมจะต้องพอดีกับกระดาษทั้งหมด ใหญ่เกินไปหรือเกินไป ระยะทางสั้น ๆระหว่างขาของเข็มทิศสามารถนำไปสู่การเปลี่ยนแปลงระหว่างการวาดได้ ระยะทางที่เหมาะสมที่สุดคือมุมระหว่างขาของเข็มทิศอยู่ที่ 15-30 องศา
2. สร้างจุดยอดของมุมของรูปหกเหลี่ยมปกติ วางขาของเข็มทิศที่เข็มปักไว้อยู่ที่จุดใดก็ได้บนวงกลม เข็มควรแทงทะลุเส้นที่ลาก ยิ่งติดตั้งเข็มทิศได้แม่นยำมากขึ้น โครงสร้างก็จะยิ่งแม่นยำมากขึ้นเท่านั้น วาดส่วนโค้งวงกลมเพื่อให้ตัดกับวงกลมที่วาดไว้ก่อนหน้านี้ เลื่อนเข็มเข็มทิศไปยังจุดตัดของส่วนโค้งที่เพิ่งวาดกับวงกลม วาดส่วนโค้งอีกอันตัดกับวงกลม เลื่อนเข็มเข็มทิศอีกครั้งไปยังจุดตัดของส่วนโค้งและวงกลม แล้ววาดส่วนโค้งอีกครั้ง ทำซ้ำขั้นตอนนี้อีกสามครั้ง โดยเคลื่อนที่ไปในทิศทางเดียวรอบวงกลม แต่ละอันควรมีหกส่วนโค้งและจุดตัดหกจุด
3. สร้างรูปหกเหลี่ยมบวก. ค่อยๆ รวมจุดตัดกันทั้งหกของส่วนโค้งเข้ากับวงกลมที่วาดไว้แต่แรก เชื่อมต่อจุดต่างๆ ด้วยเส้นตรงที่วาดโดยใช้ไม้บรรทัดและดินสอ หลังจากการกระทำเหล่านี้ จะได้รูปหกเหลี่ยมที่ถูกต้องซึ่งจารึกไว้ในวงกลม
หกเหลี่ยมรูปหลายเหลี่ยมถือว่ามีหกมุมและมีด้านหกด้าน รูปหลายเหลี่ยมสามารถเป็นได้ทั้งนูนหรือเว้า รูปหกเหลี่ยมนูนจะมีมุมภายในทั้งหมดเป็นมุมป้าน ในขณะที่รูปหกเหลี่ยมเว้าจะมีมุมแหลมหนึ่งมุมหรือมากกว่านั้น รูปหกเหลี่ยมนั้นค่อนข้างง่ายในการสร้าง ทำได้ภายในไม่กี่ขั้นตอน
คุณจะต้อง
1. นำกระดาษแผ่นหนึ่งมาทำเครื่องหมาย 6 จุดโดยประมาณดังแสดงในรูปที่ 1 1.
2. หลังจากทำเครื่องหมายจุดแล้วให้ใช้ไม้บรรทัดและดินสอและเชื่อมต่อจุดต่างๆตามที่เห็นในรูปที่ 1 ทีละขั้นตอนทีละขั้นตอน 2.
วิดีโอในหัวข้อ
ใส่ใจ!
ผลรวมของมุมภายในทั้งหมดของรูปหกเหลี่ยมคือ 720 องศา
หกเหลี่ยมคือรูปหลายเหลี่ยมซึ่งมีหกมุม หากต้องการวาดรูปหกเหลี่ยมตามต้องการ คุณต้องทำ 2 ขั้นตอนในแต่ละขั้นตอน
คุณจะต้อง
1. คุณต้องหยิบดินสอในมือแล้วทำเครื่องหมายจุดสุ่ม 6 จุดบนแผ่นงาน ในอนาคต จุดเหล่านี้จะมีบทบาทเป็นมุมในรูปหกเหลี่ยม (รูปที่ 1)
2. ใช้ไม้บรรทัดแล้ววาด 6 ส่วนโดยใช้จุดเหล่านี้ที่จะเชื่อมต่อกันตามจุดที่วาดไว้ก่อนหน้านี้ (รูปที่ 2)
วิดีโอในหัวข้อ
ใส่ใจ!
รูปหกเหลี่ยมชนิดพิเศษคือรูปหกเหลี่ยมบวก มันถูกเรียกเช่นนี้เพราะทุกด้านและมุมของมันเท่ากัน คุณสามารถอธิบายหรือเขียนวงกลมรอบรูปหกเหลี่ยมดังกล่าวได้ เป็นที่น่าสังเกตว่า ณ จุดที่ได้รับโดยการสัมผัสวงกลมที่ถูกจารึกไว้และด้านข้างของรูปหกเหลี่ยม ด้านข้างของรูปหกเหลี่ยมบวกจะถูกแบ่งครึ่ง
คำแนะนำที่เป็นประโยชน์
โดยธรรมชาติแล้ว รูปหกเหลี่ยมเชิงบวกเป็นที่นิยมอย่างมาก ตัวอย่างเช่น รังผึ้งทั้งหมดมีรูปทรงหกเหลี่ยมที่เป็นบวก หรือ ตาข่ายคริสตัลกราฟีน (การดัดแปลงคาร์บอน) ก็มีรูปร่างเป็นรูปหกเหลี่ยมบวกเช่นกัน
วิธีการสร้างอย่างใดอย่างหนึ่ง มุม- คำถามใหญ่ แต่สำหรับบางมุม งานก็ง่ายขึ้นจนมองไม่เห็น มุมหนึ่งก็คือ มุมที่ 30 องศา มันเท่ากับ?/6 นั่นคือเลข 30 เป็นตัวหารของ 180 แถมยังรู้ไซน์ของมันด้วย สิ่งนี้ช่วยในการก่อสร้าง
คุณจะต้อง
1. ก่อนอื่น เรามาดูสถานการณ์ดั้งเดิมโดยเฉพาะเมื่อคุณมีไม้โปรแทรกเตอร์อยู่ในมือ จากนั้นสามารถวางเส้นตรงที่มุม 30 องศาถึงจุดนี้ได้อย่างง่ายดายโดยมีส่วนรองรับ
2. นอกจากไม้โปรแทรกเตอร์แล้วยังมี มุมส่วนโค้งซึ่งมุมใดมุมหนึ่งมีค่าเท่ากับ 30 องศา แล้วอีกอย่าง มุม มุมมุมจะเท่ากับ 60 องศานั่นคือคุณต้องมีขนาดเล็กลง มุมเพื่อสร้างเส้นตรงที่ต้องการ
3. ตอนนี้เรามาดูวิธีที่ง่ายๆ ในการสร้างมุม 30 องศากัน ดังที่คุณทราบ ไซน์ของมุม 30 องศาเท่ากับ 1/2 ในการสร้างมันเราต้องสร้างโดยตรง มุมเครื่องเขียน มุมนิค เป็นไปได้ที่เราสามารถสร้างเส้นตั้งฉากสองเส้นได้ แต่ค่าแทนเจนต์ของ 30 องศานั้นเป็นจำนวนอตรรกยะ ดังนั้นเราจึงสามารถคำนวณอัตราส่วนระหว่างขาโดยประมาณได้เท่านั้น (เฉพาะหากไม่มีเครื่องคิดเลข) จึงสร้าง มุมประมาณ 30 องศา
4. ในกรณีนี้สามารถสร้างการก่อสร้างที่แน่นอนได้ ให้เราสร้างเส้นตรงตั้งฉากสองเส้นอีกครั้งโดยที่ขาจะตั้งตรง มุมโนโก มุมนิค ให้เรานอนขาตรงข้างหนึ่งก่อนคริสตศักราชโดยมีเข็มทิศรองรับ (B – ตรง มุม- หลังจากนี้เราจะเพิ่มความยาวระหว่างขาของเข็มทิศขึ้น 2 เท่าซึ่งเป็นระดับประถมศึกษา เมื่อวาดวงกลมโดยมีจุดศูนย์กลางอยู่ที่จุด C ด้วยรัศมีความยาวนี้ เราจะพบจุดตัดของวงกลมด้วยเส้นตรงอีกเส้นหนึ่ง จุดนี้จะเป็นจุด A โดยตรง มุมโนโก มุมเอบีซี และ มุม A จะเท่ากับ 30 องศา
5. ตั้งตรง มุมอนุญาตให้ทำมุม 30 องศาได้ และโดยรองรับวงกลม แล้วใช้ค่าอะไรเท่ากับ?/6 เรามาสร้างวงกลมที่มีรัศมี OB กันดีกว่า มาดูทฤษฎีกัน มุม nik โดยที่ OA = OB = R – รัศมีของวงกลม โดยที่ มุม OAB = 30 องศา ให้ OE เป็นความสูงของสามเหลี่ยมหน้าจั่วนี้ มุม nik และด้วยเหตุนี้ จึงมีเส้นแบ่งครึ่งและค่ามัธยฐาน แล้ว มุม AOE = 15 องศา และตามสูตรครึ่งมุม sin(15o) = (sqrt(3)-1)/(2*sqrt(2)) ดังนั้น AE = R*sin(15o) ดังนั้น AB = 2AE = 2R*บาป(15o) เมื่อสร้างวงกลมรัศมี BA โดยมีจุดศูนย์กลางอยู่ที่จุด B เราจะพบจุดตัด A ของวงกลมนี้ด้วยจุดแรก มุม AOB จะเป็น 30 องศา
6. หากเราสามารถกำหนดความยาวของส่วนโค้งได้ด้วยวิธีใดวิธีหนึ่ง หากแยกความยาวส่วนโค้งออกไป?*R/6 เราก็จะได้ มุมที่ 30 องศา
ใส่ใจ!
เราต้องจำไว้ว่าในย่อหน้าที่ 5 เราสามารถสร้างมุมได้โดยประมาณเท่านั้น เนื่องจากจำนวนอตรรกยะจะปรากฏในการคำนวณ
หกเหลี่ยมเรียกว่ากรณีพิเศษของรูปหลายเหลี่ยม - รูปทรงที่เกิดจากจุดส่วนใหญ่ของระนาบ ซึ่งถูกจำกัดด้วยเส้นรูปหลายเหลี่ยมแบบปิด ในทางกลับกัน รูปหกเหลี่ยมที่เป็นบวก (หกเหลี่ยม) ก็เป็นกรณีพิเศษเช่นกัน นั่นคือรูปหลายเหลี่ยมที่มีหก ด้านที่เท่ากันและมุมที่เท่ากัน รูปนี้มีความสำคัญตรงที่ความยาวของด้านทั้งหมดเท่ากับรัศมีของวงกลมที่อธิบายรอบๆ รูปนั้น
คุณจะต้อง
1. เลือกความยาวด้านของรูปหกเหลี่ยม ใช้เข็มทิศและกำหนดระยะห่างระหว่างปลายเข็มที่อยู่บนขาข้างหนึ่งกับปลายเข็มซึ่งอยู่ที่ขาอีกข้างหนึ่งเท่ากับความยาวของด้านข้างของร่างที่วาด ในการทำเช่นนี้ คุณสามารถใช้ไม้บรรทัดหรือเลือกระยะห่างแบบสุ่มได้หากช่วงเวลานี้ไม่สำคัญ ยึดขาเข็มทิศด้วยสกรู หากเป็นไปได้
2. วาดวงกลมโดยใช้เข็มทิศ ระยะห่างระหว่างขาที่เลือกจะเป็นรัศมีของวงกลม
3. แบ่งวงกลมออกเป็นหกส่วนเท่า ๆ กันด้วยจุด จุดเหล่านี้จะเป็นจุดยอดของมุมของรูปหกเหลี่ยมและดังนั้นจุดสิ้นสุดของส่วนที่เป็นตัวแทนของด้านข้าง
4. วางขาเข็มทิศด้วยเข็มที่จุดใดก็ได้ซึ่งอยู่บนเส้นของวงกลมที่ร่างไว้ เข็มควรเจาะเส้นให้ถูกต้อง ความถูกต้องของการก่อสร้างขึ้นอยู่กับความถูกต้องของการติดตั้งเข็มทิศโดยตรง วาดส่วนโค้งด้วยเข็มทิศเพื่อให้มันตัดกับวงกลมที่วาดไว้ก่อนที่ 2 จุด
5. ขยับขาของเข็มทิศด้วยเข็มไปยังจุดตัดของส่วนโค้งที่วาดไว้กับวงกลมเดิม วาดส่วนโค้งอีกอันโดยตัดวงกลมที่ 2 จุดด้วย (หนึ่งในนั้นจะตรงกับจุดของตำแหน่งก่อนหน้าของเข็มเข็มทิศ)
6. ในทำนองเดียวกัน ให้จัดเรียงเข็มเข็มทิศใหม่และวาดส่วนโค้งอีกสี่ครั้ง ขยับขาของเข็มทิศโดยใช้เข็มไปในทิศทางเดียวรอบวงกลม (ตามเข็มนาฬิกาหรือทวนเข็มนาฬิกาอย่างสม่ำเสมอ) ด้วยเหตุนี้จึงต้องระบุจุดตัดของส่วนโค้งหกจุดกับวงกลมที่สร้างขึ้นตั้งแต่แรก
7. วาดรูปหกเหลี่ยมที่เป็นบวก ทีละขั้นตอนเป็นคู่รวมคะแนนหกคะแนนที่ได้รับในขั้นตอนก่อนหน้าเข้ากับส่วนต่างๆ วาดส่วนโดยใช้ดินสอและไม้บรรทัด ผลลัพธ์จะเป็นรูปหกเหลี่ยมที่ถูกต้อง หลังจากเสร็จสิ้นการก่อสร้าง คุณสามารถลบองค์ประกอบเสริมได้ (ส่วนโค้งและวงกลม)
ใส่ใจ!
เหมาะสมที่จะเลือกระยะห่างระหว่างขาของเข็มทิศเพื่อให้มุมระหว่างขาทั้งสองข้างอยู่ที่ 15-30 องศา ในทางกลับกันเมื่อทำการก่อสร้างระยะนี้อาจหายไปได้ง่าย
เมื่อสร้างหรือพัฒนาแบบแปลนบ้านมักจำเป็นต้องสร้าง มุมเท่ากับอันที่มีอยู่ ตัวอย่างและทักษะเรขาคณิตของโรงเรียนมาสนับสนุน
1. มุมหนึ่งเกิดจากเส้นตรงสองเส้นที่ลากมาจากจุดหนึ่ง จุดนี้เรียกว่าจุดยอดของมุม และเส้นตรงจะเป็นด้านข้างของมุม
2. ใช้ตัวอักษรสามตัวเพื่อแสดงมุม: หนึ่งตัวอยู่ด้านบน สองตัวที่ด้านข้าง เรียกว่า มุมโดยเริ่มจากตัวอักษรที่อยู่ด้านหนึ่งแล้วจึงเรียกว่าตัวอักษรที่อยู่ด้านบนและหลังจากนั้นจึงเรียกตัวอักษรที่อยู่อีกด้านหนึ่ง ใช้วิธีการอื่นในการทำเครื่องหมายมุมหากคุณรู้สึกสบายใจกว่า บางครั้งจะมีการตั้งชื่อตัวอักษรเพียงตัวเดียวซึ่งอยู่ด้านบน และอนุญาตให้แสดงมุมด้วยตัวอักษรกรีกเช่น α, β, γ
3. มีสถานการณ์ที่คุณต้องวาด มุมเพื่อให้เท่ากับมุมที่กำหนด หากไม่มีโอกาสใช้ไม้โปรแทรกเตอร์ในการวาดภาพ คุณจะทำได้โดยใช้ไม้บรรทัดและเข็มทิศเท่านั้น เป็นไปได้ว่าจำเป็นต้องสร้างบนเส้นตรงที่ระบุในภาพวาดด้วยตัวอักษร MN มุมที่จุด K เพื่อให้เท่ากับมุม B นั่นคือจากจุด K คุณต้องวาดเส้นตรงที่สร้างด้วยเส้น MN มุมอันที่จะเท่ากับมุม B
4. ขั้นแรก ทำเครื่องหมายจุดบนทั้งด้านของมุมที่กำหนด เช่น จุด A และ C จากนั้นเชื่อมต่อจุด C และ A ด้วยเส้นตรง รับทรี มุมนิค เอบีซี
5. ตอนนี้สร้าง Tre เดียวกันบนเส้นตรง MN มุมเพื่อให้จุดยอด B อยู่บนเส้นตรงที่จุด K ใช้กฎในการสร้างสามเหลี่ยม มุมทั้งสามด้าน เลย์เอาส่วน KL ออกจากจุด K มันจะต้องเท่ากับส่วน BC รับจุด L
6. จากจุด K ให้วาดวงกลมที่มีรัศมีเท่ากับส่วน BA จาก L ให้วาดวงกลมที่มีรัศมี CA รวมจุดผลลัพธ์ (P) ของจุดตัดของวงกลม 2 วงเข้ากับ K ได้สามอัน มุม nik KPL อันที่จะเท่ากับสาม มุมหนังสือเอบีซี. ดังนั้นคุณจะได้รับ มุม K จะเท่ากับมุม B เพื่อให้โครงสร้างนี้สะดวกและรวดเร็วยิ่งขึ้น ให้กำหนดส่วนที่เท่ากันจากจุดยอด B โดยใช้วิธีเข็มทิศเดียวโดยไม่ต้องขยับขา อธิบายวงกลมที่มีรัศมีเท่ากันจากจุด K
วิดีโอในหัวข้อ
ใส่ใจ!
หลีกเลี่ยงการเปลี่ยนระยะห่างระหว่างขาของเข็มทิศโดยไม่ตั้งใจ ในกรณีนี้ รูปหกเหลี่ยมอาจปรากฏไม่ถูกต้อง
คำแนะนำที่เป็นประโยชน์
เขามีความสามารถพิเศษในการสร้างสิ่งก่อสร้างโดยใช้เข็มทิศที่มีตะกั่วที่แหลมคมดี ด้วยวิธีนี้การก่อสร้างจะมีความแม่นยำเป็นพิเศษ