2009-12-12 11 views
13

प्राप्त करने के लिए दो आरजीबी रंग वैक्टर मिलाकर मैं दो स्रोत आरजीबी वैक्टरों को मिश्रण करने की कोशिश कर रहा हूं ताकि वे तीसरे "परिणामस्वरूप वेक्टर" बना सकें जो पहले दो का सहज मिश्रण है।परिणामस्वरूप

आदर्श रूप से, मैं "वास्तविक पेंट मिश्रण विशेषताओं" का अनुकरण करने में सक्षम हूं, लेकिन सादगी के लिए, मैं एक ऐसी विधि ढूंढने की कोशिश कर रहा हूं जहां परिणामस्वरूप दो स्रोत आरजीबी के संयोजन से आपको सहजता से दिखने लगे।

न्यूनतम, इन विशेषताओं:
लाल + काले = गहरे लाल
लाल + सफेद = हल्के लाल

बेहतर, यह भी असली रंग विशेषताओं के साथ:
लाल + नीले = बैंगनी
लाल + पीला = ऑरेंज
(आदि)

-

+०१२३५१६४१०६१

मैं वर्तमान में दो स्रोत आरजीबी वैक्टर/255 जोड़कर "आलसी तरीका" कर रहा हूं, फिर सामान्यीकरण (और 255 तक गुणा)। तो, इसका उपयोग करके: [लाल = < 1,0,0> * 255] + [ब्लू = < 0,0,1> * 255] Magenta = < 1,0,1>/sqrt (2) * 255 देता है , हालांकि अन्य रंग कम सहज या यहां तक ​​कि दृश्यमान हैं ... मुझे एक बेहतर विधि की आवश्यकता है! कृपया मदद करें :-)

+0

http://stackoverflow.com/questions/398224/how-to-mix-colors- स्वाभाविक रूप से-with-c –

+2

के लिए काफी समान लगता है, शायद आप "असली पेंट" विशेषताओं को नहीं चाहते हैं, क्योंकि असली पेंट नहीं है काम नहीं करते हैं और साथ ही आपको लगता है कि यह करता है। मैं शर्त लगाऊंगा कि पीला + नीला = हरा, लेकिन यह मुझे पता है कि किसी भी रंगीन जगह में यह सच नहीं है। –

+0

मैं पार्टी के लिए थोड़ा देर हो चुकी हूं, लेकिन यहां एक कार्यान्वयन है जो काम कर सकता है। http://stackoverflow.com/a/14840112/475329 –

उत्तर

14

क्या आपने भारित औसत के समान सुझाव दिया है?

Average R = w1*R1 + w2*R2 + w3*R3 + ... + wn*Rn 

Average G = w1*G1 + w2*G2 + w3*G3 + ... + wn*Gn 

Average B = w1*B1 + w2*B2 + w3*B3 + ... + wn*Bn 

w के भार भिन्न और उनमें से योग 1.

आर 1 पहले रंग उदाहरण के लिए मिश्रण करने, के लाल घटक है है कर रहे हैं।

तो अगर आप समान रूप से दो रंग मिश्रण करना चाहता था, यह होगा:

Average R = 0.5*R1 + 0.5*R2 

Average G = 0.5*G1 + 0.5*G2 

Average B = 0.5*B1 + 0.5*B2 

एक नामित रंग ("गहरे लाल") के लिए परिणामी रंग मानचित्रण के लिए के रूप में हो सकता है सिर्फ एक लुकअप तालिका करते हैं और लेने निकटतम एक?

+1

आप आरजीबी (या सीएमके) को पेंट की तरह मिश्रण करने में सक्षम होने के लिए डब्ल्यू या डब्ल्यू मैट्रिक्स को कैसे निर्धारित करते हैं? – yos

+2

यदि आप 2 रंगों को मिला रहे हैं, तो डब्ल्यू 1/2 या 0.5 है, जैसा कि उत्तर बताता है। –

0

मुझे लगता है कि आपको वास्तव में परिभाषित करना चाहिए कि आपकी रंग योजना में "+" क्या है।

आपकी आवश्यकताओं के आधार पर, मैंने उन्हें अनुमानित हेक्स रंग कोड में अनुवादित किया है, (आरजीबी प्रतिनिधित्व आसानी से हटाया जा सकता है)।

 
RED  + BLACK = DARK RED 
#ff0000 + #000000 = #800000 
RED  + WHITE = LIGHT RED 
#ff0000 + #ffffff = #ff8080 

optimally, also with real paint characteristics: 
RED  + BLUE = PURPLE 
#ff0000 + #0000ff = #800080 
RED  + YELLOW = ORANGE 
#ff0000 + #ffff00 = #ff8000 

मुझे एक निश्चित पैटर्न नहीं दिख रहा है जिसे आप प्राप्त करने के लिए कुछ सूत्र तैयार कर सकते हैं।

जॉन और निल्स के तरीके शायद रंगों के करीब आ जाएंगे, लेकिन शायद सटीक मूल्यों के लिए नहीं। मेरा सुझाव है कि आप उनका प्रयास करें।

संपादित करें:
गलत रंग कोड अपडेट किया गया। वैसे यह अब बहुत अधिक समझ में आता है।

+1

पीले और नारंगी के लिए आपके रंग कोड लगते हैं। –

+0

हां, यदि आपने पीला = # एफएफएफ 00 और नारंगी = # एफएफ 8000 और हल्का लाल = # एफएफ 8080 तय किया है, तो पैटर्न स्पष्ट हो जाएगा। –

+0

ओह, मैंने गलत तरीके से प्रतिलिपि बनाई और चिपकाया। मुझे अपनी पोस्ट अपडेट करने दें। –

8

समस्या यह है कि आप दो अलग-अलग रंग सिद्धांतों को जोड़ने की कोशिश कर रहे हैं। आरजीबी additive रंग सिद्धांत है (रंगीन प्रकाश स्रोत से उत्सर्जित है)। इस मामले में आप मिश्रण में जितना अधिक स्पेक्ट्रम जोड़ते हैं, उतना ही आप सफेद हो जाते हैं।

"पेंट मिश्रण" के लिए आपको घटिया रंग सिद्धांत का अनुकरण करने की आवश्यकता है जो प्रतिबिंबित रंगों को मिश्रित तरीके से नियंत्रित करता है। (यानी पेंट्स, विभिन्न सतह इत्यादि जैसे परावर्तित प्रकाश) यहां एक है।

this page पर जावास्क्रिप्ट एक सुराग है कि आप आरजीबी को सीएमवायके में परिवर्तित करने में कैसे आगे बढ़ सकते हैं।

+0

सवाल पेंट मिश्रण के बारे में पूछता है, लेकिन उदाहरण सभी आरजीबी मिश्रण से अधिक संबंधित प्रतीत होते हैं। मुझे बहुत सी प्रतिद्वंद्वी होने के लिए सीएमवाईके मिश्रण मिल रहा है। –

+0

मैंने सवाल आरजीबी (योजक) मिश्रण करने के बारे में पूछने के लिए किया लेकिन सीएमवाईके (घटियात्मक) परिणाम प्राप्त कर रहा था। –

2

घटिया रंग मिश्रण (यानी, पेंट-जैसे मिश्रण) को अनुकरण करने के लिए आरजीबी रंगों को मिलाकर आरजीबी मूल्यों को वर्णक्रमीय प्रतिबिंब घटता में परिवर्तित करके किया जा सकता है, फिर वहां मिश्रण कर सकते हैं। यह प्रश्न दूसरे के समान है, stackoverflow.com/questions/10254022/, जहां समाधान पर अधिक विस्तार से चर्चा की गई है।

संबंधित मुद्दे