رسم على قائمة من القيم الرقمية للألوان
-
20-08-2019 - |
سؤال
ولدي قائمة من القيم الرقمية. أنا قد تطبيع القيم إذا لزم الأمر.
وأنا في حاجة لتحويل هذه القائمة إلى قائمة الألوان (في HSL، RGB أو أي نموذج لون آخر - يمكن أن أفعله دائما تحويل في وقت لاحق).
لأي قيمة معينة يجب أن يكون اللون نفسه في كل مرة.
وكلما مختلفين القيم الرقمية المعطاة، ينبغي أن يكون أكثر النقيض من القيم المناظرة.
ويجب أن تكون جميع الألوان المستخدمة كما عكس بعضها البعض قدر الإمكان (وهذا هو وجود قيود لينة، والحل الخام ستفعل).
لاحظ أن القائمة كبيرة إلى حد ما (الآلاف من الأرقام)، وذلك ببساطة الضغط على جميع الأرقام إلى قناة لون واحد من شأنه أن يسفر عن نتائج كثيفة للغاية.
المحلول
هل يمكن النظر في استخدام منحنى 3D الفضاء ملء عبر الفضاء لونك المختار . أنا ثاني مارك CIELAB الاقتراح، أتمنى لو كنت تعرف عن ذلك آخر مرة كان لي ل حل مشكلة مماثلة.
نصائح أخرى
ومهما خوارزمية أن تستقر أخيرا على، قد حاولت CIELAB لون الفضاء. أنها تطبع الاختلافات في اللون التصور البشري، بحيث تباعد الرقمية المساواة يعطي الاختلافات الإدراكية متساوية.
وانظر: كيفية تولد تلقائيا N "متميزة" الألوان أ >
وسيكون من الأفضل أن تطبيع القيم الخاصة بك، وتشغيلها خلال التعليمات البرمجية اقترحت (حيث هوى == القيمة الخاصة بك)، وبناء خريطة / التجزئة. (يمكنك استخدام دالة على غرار التجزئة بدلا من ذلك، والتي ربما تكون أكثر كفاءة.)
ويمكنك "عشوائية" خفة (أو سطوع، اعتمادا على النموذج الخاص بك) والتشبع استخدام بعض أجزاء محددة من رقم هاتفك، على سبيل المثال.
لماذا لا تستخدم ظلال اللون الرمادي؟ مجرد حساب دقيقة / القيم ماكس واستخدام ذلك لترجمة كل رقم في الظل مختلفة من الأبيض إلى الأسود.
وأنا أعلم أنها ليست الألوان، ولكن في رأيي أنه سوف يكون من الأسهل لتفسير النتائج. استطيع ان اقول ما يعنيه عندما يكون هناك شيء أكثر قتامة مقابل أخف وزنا، ولكن الذي هو القول، على سبيل المثال، الأخضر هو قيمة أعلى من البرتقال؟