بكسلة
التحويل

التحويل (transformation) عادة يتم باستخدام ضرب المصفوفات، وقد تُستخدِم أيضاً الرباعيات (quaternions). إن طرق التحويل تتضمن بشكل أساسي عمليات تحويل الإزاحة (translation) والدوران (rotation) والتحجيم (scaling) والإسقاط (projection). يتم عادة استخدام متجهات مكونة من أربعة عناصر، حيث يتم ضرب هذه المتجهات مع أي مصفوفة رباعية مربعة والتي تحتوي على قيم التحويل. وللحصول على المتجه الرباعي، نقوم بتعديل المتجه الثلاثي الذي يمثل أي رأس من رؤوس المثلث وذلك بإضافة مكون رابع إلى المتجه (ويطلق على المتغير الرابع: متغير التجانس homogeneous variable). الإزاحة تُعبر عن حركة وانتقال نقطة من مكانها الأصلي إلى أي مكان آخر في الفضاء وذلك بمقدار إزاحة ثابت، ويمكن التعبير عن مصفوفة الإزاحة باستخدام المصفوفة الآتية:
حيث X و Y و Z هي قيم مقدار الإزاحة في كل اتجاه على الترتيب. التحجيم هو أحد طرق التحويل التي يتم فيها ضرب متجه يمثل إحداثي رأس من رؤوس أي مثلث باستخدام قيمة تحجيم محددة، ويتم تحجيم إحداثي الرأس نسبة لنقطة الأصل، ويتم تمثيل التحجيم بالمصفوفة الآتية:
حيث قيم التحجيم لكل اتجاه هي X و Y و Z على الترتيب، ويمكن الحصول على تحجيم غير متماثل بتغيير قيم التحجيم لتكون مختلفة في كل اتجاه. الدوران هو عملية يتم فيها تدوير أي رأس أو نقطة حول محور معين باستخدام إحدى مصفوفات الدوران الآتية حسب كل محور:- للدوران حول المحور X:
للدوران حول المحور Y:
للدوران حول المحور Z:
حيث θ هي زاوية الدوران في كل من المصفوفات الثلاث السابقة. إن سلسلة من عمليات التحويل باستخدام مصفوفات الإزاحة والتحجيم والدوران يمكنها أن تُعبر عن أغلب عمليات التحويل. إن التقنيات والأنظمة التي تطبق التسامت تستخدم مفهوم مكدس التحويلات وذلك لتحويل مجموعة من الرؤوس إلى أماكنهم الصحيحة وإلى اتجاههم الصحيح. إن مكدس التحويلات هو مكدس قياسي يتم فيه تخزين مصفوفات التحويل، ويتم ضرب كل الرؤوس المدخلة في مكدس المصفوفات. كمثال توضيحي على استخدام مكدس التحويلات: تخيل مشهد بسيط يحتوي على نموذج مجسم لإنسان، حيث يقف هذا الشخص باتجاه محدد ولكن رأسه تنظر في اتجاه آخر، ويقف هذا الشخص في مكان محدد بإزاحة محددة عن نقطة الأصل. إذن فلدينا مجموعة من الرؤوس التي إذا حُملت فإنها ستمثل مجسم هذا الشخص. أولا: مصفوفة الإزاحة قد تستخدم ويتم إدخالها في المكدس وذلك لكي يتحرك الشخص ليصبح في المكان الصحيح، ومصفوفة التحجيم أيضاً سيتم إدخالها إلى المكدس وذلك لتحجيم نموذج الشخص بالحجم المناسب، وأيضاً سيتم إدخال مصفوفة الدوران حول المحور الرأسي Y وذلك ليتم تدوير المجسم في الاتجاه الصحيح، ثم سيتم إرسال فيض الرؤوس التي تُكون نموذج جسم هذا الشخص لإكمال عملية التسامت. ولكن ولأن نموذج رأس الشخص ينظر في اتجاه مختلف، سيتم إزالة مصفوفة الدوران من المكدس، وسيتم إدخال مصفوفة أخرى بزاوية دوران مختلفة حول المحور الرأسي Y أيضاً، وأخيراً سيتم إرسال مجموعة الرؤوس أو النقاط التي تمثل رأس هذا الشخص لإكمال عملية التسامت عليها. بعد أن يتم تحويل كل النقاط في الفضاء الثلاثي ويتم وضعهم في المكان الصحيح بالنسبة للناظر، يجب أن يتم تحويلهم إلى صورة ثنائية البعد تتمثل في مستوى أو سطح ثنائي، وهذا التحويل يتم عن طريق تحويل الإسقاط (projection). إن أبسط أنواع الإسقاط هو الإسقاط المتوازي (orthographic projection) وهو ببساطة عبارة عن إزالة قيمة العنصر Z لكل الرؤوس ثلاثية الأبعاد التي تم تحويلها، ويتميز الإسقاط المتوازي بأن كل الخطوط التي كانت متوازية في المجسم أو المشهد في الفضاء الثلاثي البعد ستظل أيضاً متوازية بعد تحويلها وتمثيلها على سطح ثنائي البعد. ولكن الصور الحقيقية ليست كذلك فهي ذات شكل منظوري حيث أن الأجسام الموجودة في الصورة والتي تظهر وكأنها داخل عمق الصورة تظهر بشكل أصغر من الأجسام القريبة من الناظر. ولذلك فنحن نحتاج لنوع آخر يسمى الإسقاط المنظوري أو الفراري (perspective projection) ليتم تطبيقه على هذه النقاط. مفهوم الفكرة يكمن في تحويل مجال (حجم) الرؤية المنظوري (perspective viewing volume) ليصبح مجال الرؤية المتعامد (orthogonal). مجال الرؤية المنظوري هو جذع هرم (frustum) والذي يُمثل بشكل هرمي مقطوع في أعلاه. في المقابل نجد أن مجال الرؤية المتوازي (orthographic viewing volume) هو شكل مربع يشبه الصندوق حيث فيه المضلع الأمامي (القريب) والخلفي (البعيد) near and far planes متوازيان تماماً مع مستوى سطح الصورة التي يتم عرضها بداخله. يمكن تمثيل مصفوفة تحويل الإسقاط المنظوري كالآتي:
حيث تمثل F مسافة السطح البعيد (الخلفي) وتمثل N مسافة السطح القريب (الأمامي). إن المتجه الرباعي الناتج بعد تحويله (بعد أن يتم ضربه) بهذه المصفوفة سيحتوي على قيمة في المتغير المتجانس لا تساوي الواحد الصحيح، وإذا قمنا بمعالجة المتجه لنعيد تجانُسُه مرة أخرى أو قمنا بضربه بمعكوس قيمة متغير المتجانس، فسيصبح المتغير متجانساً بقيمة الوحدة وسيتنج لدينا متجه يمثل الإحداثي ثنائي البعد لقيم X و Y النهائية.