รับจำนวนเต็ม N> = 2 สร้างภาพที่แสดงให้เห็นถึงปมSierpińskiของระดับ N
ตัวอย่างเช่นนี่คือ knots ของระดับ 2, 3, 4 และ 5:
คลิกที่ภาพเพื่อดูขนาดเต็ม (ยิ่งระดับยิ่งภาพใหญ่ขึ้น)
สเปค
- ปมSierpińskiของระดับ N ถูกวาดโดยใช้จุดยอดของรูปสามเหลี่ยมSierpińskiของระดับ N เป็นจุดนำทาง รูปสามเหลี่ยมSierpińskiของระดับ N คือสามเหลี่ยมสามรูปแบบของSierpińskiของระดับ N-1 ที่จัดเป็นรูปสามเหลี่ยมขนาดใหญ่กว่า สามเหลี่ยมSierpińskiของระดับ 0 เป็นรูปสามเหลี่ยมด้านเท่า
- สามเหลี่ยมมุมฉากส่วนประกอบที่เล็กที่สุดมีความยาวด้าน 64 ทำให้สามเหลี่ยม Sierpi knski ซึ่งปมขึ้นอยู่กับความยาวด้านโดยรวมของ
- ศูนย์กลางของสามเหลี่ยมด้านนอกจะอยู่ที่ตำแหน่งกึ่งกลางของภาพ นี่ไม่ได้ให้พื้นที่สีขาวเท่ากันที่ด้านบนและด้านล่าง
- เอาต์พุตเป็นรูปสี่เหลี่ยมจัตุรัสที่มีความยาวด้านซึ่งเป็น
ceiling(x)
จำนวนเต็มเล็กที่สุดที่มากกว่าหรือเท่ากับ x นี่มีขนาดใหญ่พอสำหรับจุดสุดยอดด้านบนของสามเหลี่ยมSierpińskiที่อยู่ภายในรูปภาพเมื่อจุดศูนย์กลางของรูปสามเหลี่ยมอยู่ที่กึ่งกลางของภาพ - เส้นโค้งเดียวจะต้องผ่านและผ่านตัวเองสลับอย่างเคร่งครัด วิธีแก้ปัญหาสามารถเลือกได้ว่าจะต่ำกว่าหรือต่ำกว่านั้น
- ภาพตัวอย่างแสดงพื้นหน้าสีดำและพื้นหลังสีขาว คุณสามารถเลือกสีที่แตกต่างได้สองสี อนุญาตให้ลบนามแฝง แต่ไม่จำเป็น
- จะต้องไม่มีช่องว่างที่มีเส้นโค้งสองเส้นมาบรรจบกันหรือโค้งที่ผ่านหรือเหนือตัวมันเอง
- ผลลัพธ์อาจเป็นไฟล์ภาพรูปแบบแรสเตอร์ใด ๆ หรือไฟล์ภาพรูปแบบเวกเตอร์ใด ๆ ที่มีขนาดการแสดงเริ่มต้นที่ถูกต้อง หากคุณแสดงไปที่หน้าจอโดยตรงต้องอยู่ในรูปแบบที่ช่วยให้การเลื่อนเพื่อดูภาพเต็มเมื่อมีขนาดใหญ่กว่าหน้าจอ
การกำหนดศูนย์กลางส่วนโค้งรัศมีและความหนา
- ปมถูกสร้างขึ้นเป็นชุดของส่วนโค้งแบบวงกลมที่พบกัน ณ จุดที่เส้นสัมผัสของมันนั้นขนานกัน ส่วนโค้งเหล่านี้จะแสดงเป็นภาควงแหวน (ส่วนโค้งที่มีความหนา)
- ศูนย์กลางของส่วนโค้งเหล่านี้คือจุดยอดของสามเหลี่ยมคว่ำที่เล็กที่สุด จุดสุดยอดแต่ละจุดนั้นเป็นศูนย์กลางของส่วนโค้งเดียว
- แต่ละส่วนโค้งมีรัศมี
- ยกเว้นว่าส่วนโค้งของสามเหลี่ยมสามด้านนอกสุด (ที่มุมของสามเหลี่ยมขนาดใหญ่) มีจุดศูนย์กลางซึ่งเป็นจุดกึ่งกลางของจุดยอดทั้งสองที่อยู่ติดกันและมีรัศมีของ
- แต่ละอาร์คแสดงด้วยความหนารวม (ความแตกต่างระหว่างรัศมีด้านในและรัศมีด้านนอก) ของและขอบสีดำของแต่ละอันนี้มีความหนาของเส้นโค้งต้องมีเส้นขอบเหล่านี้และไม่ใช่แค่แถบทึบ
หน่วยวัด
- ระยะทางทั้งหมดอยู่ในหน่วยพิกเซล (1 คือระยะทางแนวนอนหรือแนวตั้งระหว่าง 2 พิกเซลที่อยู่ติดกัน)
- สแควร์รูทของ 3 จะต้องแม่นยำถึง 7 ตัวเลขที่สำคัญ นั่นคือการคำนวณของคุณจะต้องเทียบเท่ากับการใช้ ROOT3 เช่นนั้น
1.7320505 <= ROOT3 < 1.7320515
เกณฑ์การให้คะแนน
รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ
สำหรับผู้ที่สงสัยว่าจะไม่รวม N = 0 และ N = 1 เพราะตรงกับวงกลมและพระฉายาลักษณ์ซึ่งไม่ตรงกับรูปแบบที่ใช้กับ N> = 2 ฉันคาดหวังว่าวิธีการส่วนใหญ่ในการท้าทายนี้จะต้องเพิ่มรหัสกรณีพิเศษสำหรับ 0 และ 1 ดังนั้นฉันจึงตัดสินใจละเว้น
stroke-width:3.464102
และคล้ายกันมากเกินไปถ้าคิดว่าจะได้รับความแม่นยำ 1 พิกเซล ฉันจะไปข้างหน้าและรวมไว้เช่นนั้นแม้ว่าหากเป็นคดี