يتمحور درسنا هذا على دراسة جميع تفرعات هذا المفهوم من حيث التنظيم، التنسيق، الهندسة والبرمجة أخيرا،ً وطبعاً لايمكنني تجاهل ذكر أن دراسة عناصر العنصر Graphics تأخذنا لنتعمق في مجالات أخرى كـ( تصميم أدوات ذات مظهر مُبتدع وأيضاً معالجة الصور هندسياً ، برمجياً وظاهرياً).
لا أطلب منكم أيها الأخوة الكرام سوى التفاعل مع هذا الموضوع بمشاركة رأيكم وأفكاركم التي تنتجونها خلال قراءتكم لهذا الموضوع الذي سوف أقوم بإذن الله بإكماله إذا رأيت أن الموضوع يستحق عناء شرح الأفكار حتى أخر حرف في هذا المفهوم.
المقدمة:
كثيرٌ منا مايرى أن الحاسب هو آلة تقوم باستيعاب كل مانأمرها به كمبرمجين ومطوريين والبعض الأخر يعلم أن الحاسب هو عبارة عن آلة لاتفهم سوى لغة واحدة هي لغة الآلة وهو أمر حتمي لاشك فيه لكني أرى أن الحاسب يفهم مانعلمه اياه، تماما كما يحدث لنا عندما نتعلم لغة جديدة لنفهم مايقال لنا بواسطة تلك اللغة التي تعلمناها والتي هي عبارة عن خلايا منظمة تم تنظيمها في ذاكرتنا بواسطة الحصين الذي يقوم بحفظ الذاكرة لنا. إذا قمنا بمقارنة البشر بالحواسيب نجد أن الفرق شاسع طبعاً لكن وبشكل مانجد أيضاً أن طريقة عمل الحاسب مأخوذة من طريقة تصرف الإنسان من حيث المبدأ في المعالجة (الدماغ ببعض الأجزاء)، الذاكرة العشوائية المؤقتة (قصيرة الأمد) ووحدة التخزين (طويلة الأمد) وأيضاً بالنسبة للصوت الذي نصدره ونسمعه والصورة التي نراها ونرسمها كل من هذه الحواس لها باحة خاصة بها في الدماغ (بطاقة خاصة في الحاسب)، الكثير مما يمكننا نسبه إلى الإنسان ولكننا لنسا بصدد مقارنة هذه الأجزاء مع بعضها البعض والمطلوب هو الوصول إلى فهم التشابه بيننا وبين الحواسيب لنتمكن لاحقاً من فهم كيف تم صنع تلك آلة لتكون المستقبل الذي نتوعد به.
بماأن درسنا هذا يتكلم عن الرسوم سوف نأخذ الأجزاء التي تؤمن الرؤية وتصنعها لنرى كيف للحاسب أن يعرض ويرى الأشياء بشكل ضوئي من جهة وعكوس من جهة أخرى.
لنبدأ بالرؤية بواسطة الضوء المباشر، ماهي الأجزاء التي تساعدنا على الرؤية بمساعدة الضوء؟ وكيف تتم عملية الرؤية؟

كما نرى، إذا أخذنا مثال بسيط عن رؤيتنا لصورة موجودة على شاشة حاسب، فالعين هي التي تقوم بحدوث الرؤية للإنسان وبالمقابل الكاميرا الرقمية هي التي تقوم بحدوث الرؤية للحاسب، إذا تبعنا أسهم الدلالة نجد أن كل من العين والكاميرا تعملان بواسطة عناصر متشابه والخوارزمية نفسها، فالعين والكاميرا لهما عدسة تقوم بتوضيح الصورة، أيضاً كل منهما يحوي عناصر لتحديد لون الضوء الذي يمر من خلال العدسة (مخاريط في العين وحساسات كهربائية ذات مواد كيميائية تتفاعل بحسب أطوال موجة الضوء لتولد دفعات عصبية في العين وكمون بسيط في الحساسات) وهكذا بعد وصول الضوء إلى هذه العناصر الحساسة للضوء والموصولة بشكل منظم بواسطة ناقل (عصب في العين، وموصلات رقيقة جداً في الكاميرا) ينتقل الكمون إلى وحدة المعالجة ليتم التعرف على نوع البيانات ولكن وبما أن الكاميرا ذات وظيفة واحدة ولغة وظيفية واحدة فليس هناك داعِ لترجمة المعلومات (الكمون) وتعرف إليها، بعد ذلك يأتي قرار الحفظ الذي على أي حال هو قرار المستخدم للعين أوالكاميرا.
إذاً ماهي الرؤية بالضوء المباشر؟

هي ظاهرة تحدث عند النظر للضوء بشكل مباشر أي كما في مثالنا السابق، شاشة الحاسب مصنوعة من مقاومات ضوئية صغيرة جداً وبعضها الأخر يعتمد على توزيع إلكترونات أو سائل (كسائل البلازما) ليتم توليد أوحجب ممرات مرور الضوء وبالتالي فإننا عندما ننظر إلى شاشة الحاسب فإننا فعلياً ننظهر إلى كم من الضوء المنظم ضمن هياكل وأساليب متعددة.
وماهي الرؤية بالضوء الغير مباشر أو بانعكاس الضوء؟

هي ظاهرة تحدث أيضاً بواسطة الضوء الذي يتولد بواسطة أمواج ولكن الفرق بين هذه الظاهرة وظاهرة حدوث الرؤية بواسطة الضوء المباشر هو أن ماتراه أعيننا هو فقط عبارة عن أمواج مُنعكسة بواسطة الجسم المرئي الذي يمكن أن يعكس أو يمتص أو حتى أن يغيير من طول أو تواتر موجة من أمواج الطيف المرئي، وهذا مايكننا تمييزه عند النظر إلى صورة معلقة على الحائط فإذا وجهنا ضوء مائل إلى الاحمرار نحو تلك الصورة نجد أن ألون الصورة تبدو مائلة إلى الإحمرار في بعض الأجزاء التي تعكس الضوء.
حسناً، أصبحت المقدمة معقدة قليلاً وكأننا ندرس شيئاً ليس له فائدة مع درسنا هذا؟
من المحتمل أن هذا ماقد يخطر لك بعد قراءة ماورد حتى الأن ولكن ثق بي تماماً أنما سوف نقوم باستنتاجه بعد هذه الإجابة هو أساس وجود الألوان في الحاسب الذي نقوم باستخدامه والدليل أنه إذا قمنا بمقارنة كلا الظاهرتين نجد أن:
في الضوء المباشر: يصل اللون إلى الحساس على شكل موجة ضوئية لكل لون (أحمر، أخضر وأزرق) بشكل مباشر (موجب بالنسبة لجهة توجيه الضوء نحو الحساس) ويحتاج إلى زيادة في الطاقة ليسطع بشكل أفضل، بمعنى أخر ليزيد من قيمة جميع أو لون من الألوان الرئيسية.
في الضوء الغير مباشر: يصل اللون إلى الحساس على شكل موجة ضوئية معكوسة لكل اللون (أحمر، أخضر وأزرق) بشكل غير مباشر (سالب بالنسبة لجهة توجيه الضوء نحو الحساس وذلك لأن الحساس والضوء لهما الجهة نفسها ولكن بالنسبة للزاوية بينها فهذا يعتمد على طبيعة المصباح وشكل تسليط الضوء خاصته)، بعكس الضوء المباشر يحتاج إلى مادة ذات امتصاص قليل ليعكس الضوء ومنه ليصبح الضوء المعكوس ساطع بشكل أفضل.
نظراً لهذه الفلسفة نجد أن هناك نوعان من الأنظمة لمعالجة الألوان واستخدامها بشكل صحيح مع الأدوات المسببة للضوء (شاشات الحاسب، اللوحات الرقمية، المصابيح) والأدوات التي تقوم بصنع كائنات تستخدم لعكس الضوء (الصور العادية، الإعلانات، الخرائط) وبالتالي نجد أن أحدهما يستخدم مادة زجاجية أو مادة كيميائية أخرى لتوليد الألوان الرئيسية على شكل ضوء والثاني يستخدم مادة سائلة، جافة أو مادة كيميائية شبيهة (كالبلاستيك المُلون) لتوليد حاجز على جسم ما (ورقة مثلاً) لتمنع انعكاس الضوء (امتصاص موجة) بدرجات متفاوتة.
من كلمة امتصاص وبالتفكير في لون السطح الذي يستخدم للطباعة (أبيض عادةً) نستنتج أن كلما زادت درجة الامتصاص قلت درجة الانعكاس اي كل ما زدنا بسماكة اللون على سطح الانعكاس تُمتص الموجة لتصبح معدومة وبالتالي يختلف لون الضوء المُنعكس، أما بالنسبة للضوء المباشر فكما ذكرنا سابقاً عند زيادة الطاقة يسطع الضوء وعند نقص الطاقة يخفت الضوء وبالتالي فإن الموجة تنعدم في حال كانت الطاقة معدومة أوشبه معدومة.
الأن وبعد انتظار نصل إلى أن نظام الألوان المستخدم في الضوء المباشر هو نظام يعتمد الإضافة (الزيادة في الطاقة أو القيمة) أي أن اللون أسود عند عدم مرور التيار في المقاومات الضوئية الثلاث للألوان الرئيسية:

Red = 0; Green = 0; Blue = 0 & (0, 0, 0) = Black
ويكون اللون أبيض عند مرور التيار في المقاومات الضوئية الثلاث (طبعاً إذا قمت بتجربة هذه الظاهرة بواسطة مصابيح كبيرة ستجد أن اللون ليس أبيض وذلك لأن تواتر الأمواج أعظم من أن يراه كل حساس على أنه موجة واحدة، بينما إذا قمت بتجرتها بواسطة مصابيح صغيرة للغاية ستجد مبتغاك، يمكنك استخدام مكبر لترى النقاط الضوئية في شاشة حاسبك):
Red = 1; Green = 1; Blue =1 & (1, 1, 1) = White
لكن نظام الألوان المستخدم في انعكاس الضوء يعتمد على النقصان (النقص في المادة الامتصاص أو القيمة) أي أن اللون أبيض عند عدم استخدام اي مادة امتصاص على سطح أبيض (طبيعي هيك يكون!) قبل أن نضع قيم الألوان علينا استنتاج ماهي الألوان الرئيسية بالنسبة للطباعة؟ وبالمناسبة لنبدأ باستخدام الكلمة عمق (Depth) عوضاً عن لون (Color) لأن اللون هو عبارة عن خلط أو جمع تلك الأعماق.
إذا كان اللون الأساسي هو أبيض على عكس العرض المباشر فماذا تكون الأعماق؟
بما أن اللون هو الأبيض فالأعماق لنظام المباشر يجب أن تكون أعظمية، صحيح؟
R = 1, G = 1, B = 1
وبما أن العمق هنا يمتص الضوء (يخفف الموجة أي أن الإشارة يمكن أن تكون سالبة عند السطح) فإن طرح كل أعماق النظام المباشر من اللون الأبيض يعطينا الأعماق المستخدمة في نظام الانعكاس!
R=[1, 0, 0]; G=[0, 1, 0]; B=[0, 0, 1]; W=[1, 1, 1] W – R = [0, 1, 1] = Cyan W – G = [1, 0, 1] = Magenta W – B = [1, 1, 0] = Yellow

ومنه فإن ألوان نظام الطرح هي الأصفر، الأحمر الإرجواني والفيروزي (بحسب تقديري).
نأتي لكيفية تحديد الألوان بهذه الأنظمة، أو لنقل أنه لدينا قيم أعماق لون بالضوء المباشر نريد أن نعرف قيم أعماقه بالانعكاس الضوئي بواسطة سطح أبيض اللون:
لون الضوء المباشر هو الأحمر، فكيف يمكننا معرفة حجم وكثافة أعماق كل من الألوان (Cyan, Magenta, Yellow)؟
بالنسبة للكثافة هذا شيء لانحتاجه بما أننا لانقوم بصناعة طابعات :] ولكن الحجم والذي يساوي القيمة يمكننا حسابه بالإعتماد على خاصية اللون اي (الطرح) لكن مهلاً؟! مالوحدة أو النسبة المستخدمة لحساب عمق اللون ذاته؟ كما في الحاسبات فإن أصغر قيمة بعد الـ(Bit) هي الـ(Byte) والتي تستخدم ثمانية (Bits) ويمكن أن تمثل قيمة بين الـ( 0 ) والـ( 255) وهي طبعاً الوحدة التي تستخدم لتحديد قيمة عمق لون ما وتخولنا الحصول على عدد كبير من الألوان يصل إلى ((255 + 1)^3) لكل عمق (256) لأن الصفر معدود ومحسوب كـ(لون) أيضاً، إذاً فإن نظام الـ(RGB) :يعطي (16777216) لون ويمكن احتساب قيمة أي لون بواسطة هذه المعادلة
Win32Color = (R + (G * 256) + (B * (256 ^ 2)))
سوف نقوم لاحقاً بتكلم عن الأنظمة الأخرى بشكل تفصيلي أكثر، لنجد قيمة اللون بنظام الطرح أو الـ(CMY)
نأخذ قيمة كل عمق من الأعماق الألوان الرئيسية:
R1=255; G1=0; B1=0
نقوم بطرحها من أعماق لون السطح (مأخوذة أيضاً بنظام الإضافة)، اللون أبيض ومنه:
R2=255; G2=255; B2=255
كل عمق على حده مع الانتباه أن هذه الألوان هي عكوس لبعضها البعض أي:
W – R = C: C = R2 – R1 --> C = 255 – 255 = 0 W – G = M: M = G2 – G1 --> M = 255 – 0 = 255 W – B = Y: Y = B1 – B2 --> Y = 255 – 0 = 255
نتيجة لذلك نجد أن قيمة اللون بنظام الـ(CMY) هي: (C=0, M=255, Y=255) وهذا صحيح إذا قمنا باستعراض الصورة السابقة مرة أخرى نجد أن اجتماع هذين اللونين يعطي اللون الأحمر.
بالنسبة لعكس العملية أي التحويل من CMY إلى RGB تتم كما يلي:
على فرض أن اللون هو ذاته (لنتأكد من مصداقية التحويل) نأخذ (C=0, M=255, Y=255) أي اللون الأحمر بالإنعكاس:
C1=0; M1=255; Y1=255
نقوم بطرحها من أعماق لون الشاشة "سوداء" (مأخوذة بنظام الطرح)، اللون أسود ومنه:
C2=255; M2=255; Y2=255
كما ذكرنا سابقاً كل عمق على حده:
W – C = R: R = C2 – C1 --> R = 255 – 0 = 255 W – M = G: G = M2 – M1 --> G = 255 – 255 = 0 W – Y = B: B = Y1 – Y2 --> B = 255 – 255 = 0
نتيجة لذلك نجد أن قيمة اللون بنظام الـ(RGB) هي: (R=255, G=0, B=0) وهذا صحيح أيضاً بالمقارنة بالقيم والصور :]
نكمل قريباً مع الألوان لنتعرف أكثر على الأنظمة الأخرى ونتعمق بالنسبة للنقطة الضوئية (Pixel) من حيث ماتعرضه باللون في مكان منظم.
بالتوفيق.
















