यहां हमारे पास एक दिलचस्प वास्तविक-दुनिया एल्गोरिदम आवश्यकता है जिसमें रंग शामिल हैं।स्थिर यादृच्छिक रंग एल्गोरिदम
N
सुंदर रंग: आदेश में एक सुंदर चार्ट आकर्षित करने के लिए में हैं (यानी: पाई चार्ट) हमN
रंग रहे हैं "काफी अलग" के एक यादृच्छिक सेट लेने और एक साथ अच्छे लग रहे हैं की जरूरत है। यह चमक और संतृप्ति को ठीक करके और360/N
के चरणों में रंग के माध्यम से कदम उठाकर पूरा किया जा सकता है।- स्थिर रंग असाइनमेंट: दिए गए क्षेत्रों के साथ Pie_1 दिया गया ('ए', 'बी', 'सी') और Pie_2 लेबल वाले क्षेत्रों ('बी', 'सी', 'डी') के साथ, यह अच्छा होगा यदि क्षेत्र बी और सी दोनों का रंग Pie_1 और Pie_2 दोनों पर समान है। अगर क्षेत्र को हटाया जाता है या समय के साथ चार्ट में जोड़ा जाता है तो यह भ्रम को रोकने में मदद करेगा। लेबल एकमात्र स्थिर चीज है।
- हार्ड-कोडित रंगों की अनुमति देता है: एल्गोरिदम को हार्डकोड किए गए लेबल-> रंग संबंधों को इनपुट के रूप में अनुमति देना चाहिए, लेकिन बाकी लेबलों के लिए रंगों (नियम 1 और 2 के अनुसार) की गणना करना चाहिए।
मुझे लगता है कि यह एल्गोरिदम, भले ही यह काफी अनुकूल दिखता है, एक से अधिक स्थितियों में उपयोगी होगा।
कोई विचार?
अद्यतन: एरिक सही है कि प्रत्येक लेबल के रंगों की स्थिरता की गारंटी देना असंभव है क्योंकि नए लेबल प्रकट होते हैं और गायब हो जाते हैं। लेकिन मुझे खुशी है कि यह "पर्याप्त स्थिर" है, यानी रंग परिवर्तन कम हो जाते हैं।
मैं की तरह कुछ के बारे में सोच रहा था:
- हर लेबल हैश का उपयोग कर एक यादृच्छिक रंग मूल्य हो जाता है (लेबल)% 360
- आदेश गारंटी नहीं है कि उत्पन्न रंग काफी अलग हैं में, हम रंग विभाजित एक निश्चित मात्रा में चक्र (यानी:
2*N
) और पिछले ह्यू मानों को नए विभेदित लोगों को 'गोल' करने का प्रयास करें। - एक ही गोलाकार रंग मूल्य पर जाने वाले विभिन्न लेबलों के मामले में, हम किसी भी तरह टाई तोड़ते हैं और कहीं और बिंदु को स्थानांतरित करते हैं।
लेकिन यह हार्ड-कोड वाले रंगों के मुद्दे को छोड़ देता है।
यदि हम रंग (लेबल) परिभाषित करते हैं: = एचएसबी (हैश (लेबल)% 360, एस, बी) काम करेगा लेकिन आप कैसे गारंटी देते हैं कि रंग अलग-अलग है। दूसरी ओर, यदि आप एक रंगीन पहिया का उपयोग करते हैं, तो कौन सा लेबल धोया जाता है और रंगीन पहिया शुरू होता है और चुड़ैल लेबल केवल अनुयायियों हैं? आपके उत्तर के लिए धन्यवाद – Olmo
@ ओल्मो: मेरा संपादन देखें। –
बहुत एरिक थक जाता है। मैंने प्रश्न को समुदाय विकी में बदल दिया है, इसलिए मैं थोड़ा और अधिक जगह के साथ उत्तर दे सकता हूं – Olmo