เป็นแฟนตัวยงของลูกบาศก์ของ Rubik และศิลปะที่ยอดเยี่ยมฉันได้ทำงานร่วมกันทั้งสองเข้าด้วยกันเพื่อทำสิ่งที่ยอดเยี่ยมจริงๆ โดยทั่วไปการแก้ลูกบาศก์รูบิคขนาดเล็กเพื่อสร้างพิกเซลพื้นฐานในการก่อตัวของศิลปะลูกบาศก์รูบิค ตัวอย่างศิลปะดังกล่าวสามารถดูได้จากลิงก์นี้: http://google.com/search?q=rubik%27s+cube+art
ตอนนี้จุดประสงค์ของ Code Golf นี้คือการสร้างรหัสที่ยอมรับภาพเป็นอินพุตแล้วแปลงในลักษณะดังต่อไปนี้:
รูปภาพจะถูกลดขนาดไปเป็นสีเทาระดับเว็บที่ปลอดภัย เหตุผลหลังนี้เป็นเพราะเราต้องแยกจานสีเทาที่ปลอดภัยบนเว็บ (เช่น 000000, 333333, 666666, 999999, CCCCCC และ FFFFFF) อัลกอริทึมในวิธีการของการแปลงสีระดับสีเทามีอยู่ที่: http://en.wikipedia.org/wiki/Grayscale#Colorimetric_.28luminance-preserving.29_conversion_to_grayscaleควรที่คุณต้องการเพื่อการใช้งานที่เป็นแรงบันดาลใจ
จากนั้นจะแสดงเฉดสีเทาเป็นสีที่เหมาะสม หากต้องการทำลายมันอย่างรวดเร็ว: 000000 จะหมายถึงสีน้ำเงินของรูบิค 333333 จะหมายถึงสีแดงของรูบิค 666666 จะหมายถึงสีเขียวของรูบิค 999999 จะหมายถึงสีส้มของรูบิค CCCCCC จะอ้างถึงสีเหลืองของรูบิค
ฉันต้องการให้โค้ดผลลัพธ์ของคุณสามารถแสดงจากจานสีของภาพตรงกับสีของรูบิค วิธีการสองขั้นตอนจากการแปลงเป็นสีเทาแบบปลอดภัยบนเว็บแล้วเป็นจานสีของรูบิคที่สอดคล้องกันเป็นเพียงเพื่อให้คุณมีความคิดเกี่ยวกับตรรกะที่อยู่เบื้องหลังกระบวนการ แต่ถ้ามันง่ายกว่าสำหรับคุณที่จะทำเช่นนี้
ค่า RGB ที่แท้จริงสำหรับจานสีของรูบิคจะต้องสอดคล้องกับสิ่งต่อไปนี้:
- แดง: # C41E3A
- เขียว: # 009E60
- สีน้ำเงิน: # 0051BA
- ส้ม: # FF5800
- สีเหลือง: # FFD500
- สีขาว: #FFFFFF
เพื่อยกตัวอย่างให้กับคุณฉันได้ตัดหัวของอับราฮัมลินคอล์นจากภาพต่อไปนี้: และแสดงอัลกอริทึมในการสร้างสิ่งต่อไปนี้:
มีตารางอยู่เพื่อให้คุณสามารถดูว่าลูกบาศก์รูบิคขนาดเล็กแต่ละอันจะต้องมีการกำหนดค่าเพื่อสร้างภาพอย่างไร ขนาดที่แท้จริงของภาพที่ได้คือ 45 พิกเซลคูณ 45 พิกเซลความหมาย (45/3) * (45/3) = 15 * 15 = 225 คิวบ์ลูกบาศก์รูบิคขนาดเล็กจะถูกนำมาใช้เพื่อสร้างภาพนี้ ฉันไม่ได้คาดหวังให้คุณนำเสนอภาพที่เกิดขึ้นกับตารางที่ฉันมี
ดังนั้นนี่คือสิ่งที่ต้องการ:
ภาพที่จะประมวลผลโดยอัลกอริธึมนี้จะต้องมีความกว้าง x พิกเซลโดยสูงเป็นพิกเซลของ y เช่นนั้น x และ y เป็นทวีคูณของ 3 เพื่อช่วยให้ง่ายต่อการเรนเดอร์ซึ่งเป็นส่วนหนึ่งของลูกบาศก์ลูกบาศก์รูบิค หากภาพของคุณมีขนาดค่อนข้างใหญ่ให้ลดขนาดประมาณ 45 x 45 ถึง 75 x 75 หรือมีขนาดประมาณนั้นก่อนที่จะทำการประมวลผล โปรดจำไว้ว่าองค์ประกอบการปรับขนาดนี้เป็นตัวเลือก
ภาพจะต้องถูกแปลงเป็นจานลูกบาศก์ของรูบิค sextacolored เพื่อสร้างโมเสค
ภาพที่ได้จะต้องเป็นไฟล์กราฟิกที่ถูกต้องหลังจากทำการประมวลผลแล้ว เพื่อพิสูจน์ว่าโค้ดของคุณใช้ได้กับภาพประธานาธิบดีคนใดคนหนึ่งของสหรัฐอเมริกาหรือดาราฮอลลีวูดที่รู้จักกันดี ฉันเคยใช้ Abraham Lincoln มาเป็นตัวอย่างแล้วดังนั้นประธานาธิบดีคนนี้จึงไม่สามารถใช้งานได้อีกต่อไป ตรวจสอบให้แน่ใจว่าคุณได้ระบุภาษาที่คุณใช้จำนวนไบต์รวมถึงประธานาธิบดี / ผู้มีชื่อเสียงที่ใช้ในการทดสอบรหัสของคุณรวมถึงก่อนและหลังนัด ...
แต่ละรายการจะต้องมีประธานาธิบดี / คนดังที่ไม่ซ้ำกันเป็นกรณีทดสอบของพวกเขา ฉันจะไม่ยอมรับสิ่งที่ซ้ำกัน เพื่อให้แน่ใจว่าผลลัพธ์ที่ซ้ำกันจะไม่ถูกใช้เพื่อทดสอบรายการรหัสที่แตกต่างกัน ทุกอย่างดีมากที่จะบอกว่ารหัสของคุณใช้งานได้มันเป็นอีกสิ่งหนึ่งที่พิสูจน์ได้
5. รหัสที่สั้นที่สุดชนะ
ฉันเปลี่ยนมันเป็นการประกวดความนิยม ... ฉันอยากจะเห็นว่าใครสามารถทำได้โดยไม่ต้องแข่งขันกับจำนวนไบต์ ... ดังนั้นฉันจะให้รางวัลนี้พร้อมกับรางวัลหลังจากวันที่ 28 กุมภาพันธ์ 2014
#000000 => #0051BA
ฯลฯได้อย่างง่ายดาย