بيفليكس
بيفليكس (BEFLIX) هو اسم أول لغة برمجة مضمنة خاصة بمجال الرسوم المتحركة الحاسوبية ، ابتكرها كين نولتون في مختبرات بيل عام 1963. [ 1 ] ويُشتق الاسم من دمج كلمتي " Bell Flicks" و"Bell Flicks" . استخدم كين نولتون بيفليكس لإنتاج أفلام رسوم متحركة لأغراض تعليمية وهندسية. كما تعاون مع الفنان ستان فاندربيك في مختبرات بيل لإنتاج سلسلة من أفلام الرسوم المتحركة الحاسوبية بعنوان "Poemfields" بين عامي 1966 و1969.
طُوِّر برنامج BEFLIX على حاسوب IBM 7090 المركزي باستخدام مسجل أفلام ميكروفيلم Stromberg-Carlson SC4020 للإخراج. تضمنت بيئة البرمجة التي استهدفها BEFLIX تطبيقًا للغة FORTRAN II مع وحدات ماكرو لبرنامج التجميع FORTRAN II (FAP). تم تنفيذ الإصدار الأول من BEFLIX باستخدام وحدة ماكرو FAP. أما الإصدار اللاحق الذي استهدف FORTRAN IV فقد كان أقرب إلى مكتبة روتينات فرعية تقليدية، وفقد بعضًا من خصائص اللغة المميزة.
تُنتَج البكسلات بكتابة الأحرف على شاشة مسجل الميكروفيلم باستخدام شعاع إلكتروني غير مركّز. كان جهاز SC4020 يستخدم أنبوبًا من نوع Charactron لتعريض الميكروفيلم. في برنامج BEFLIX، يُخفَض تركيز الشعاع الإلكتروني لرسم البكسلات على شكل أحرف ضبابية. تُحدَّد الأحرف لإنشاء نطاق من قيم تدرج الرمادي للبكسلات. لا يتصل مسجل الميكروفيلم مباشرةً بجهاز 7090، بل يتواصل معه عبر شريط مغناطيسي . يكتب برنامج BEFLIX مخرجات الشريط المغناطيسي على جهاز 7090، ويقرأ مسجل الفيلم الشريط لإنشاء مخرجات الفيلم. يدعم برنامج BEFLIX أيضًا وضع المعاينة حيث تُكتب إطارات مُحدَّدة من المخرجات إلى طابعة الخطوط .
نموذج البرمجة
تُقسّم ذاكرة معالج 7090 إلى أسطح مستطيلة من البكسلات. ويُرمز لكل سطح برمز مكون من حرفين يُحدد هندسة السطح. يدعم برنامج BEFLIX دقتين لإخراج الإطارات: عالية (252×184) ومنخفضة (126×92). يمتلك معالج 7090 ذاكرة كافية لدعم إطارين بدقة عالية. يسمح تنظيم الأسطح في BEFLIX بتكوين تركيبات هندسية مختلفة من الأسطح الأصغر ضمن الذاكرة المتاحة. تخزن بكسلات BEFLIX القيم من 0 إلى 7، مما يسمح بتجميع 12 بكسلًا في كلمة واحدة من 36 بت في معالج 7090.
يوفر BEFLIX عمليات منخفضة المستوى وعمليات عالية المستوى. بالنسبة للعمليات منخفضة المستوى، يوفر BEFLIX ستة وعشرين ماسحًا ضوئيًا مُسماة من الألف إلى الياء. لكل ماسح ضوئي قيمة وموقع إحداثي على سطح ما. تُطبق عبارات BEFLIX منخفضة المستوى عمليات على الماسح الضوئي بناءً على مجموعة من الشروط المُتحققة. مثال على عملية منخفضة المستوى:
IFANY (B,R,10)(B,A,C)(A,E,7)T(A,T,B)(A,U,2)(A,W,3)LOC5
وهذا يعني أنه إذا تحققت أي من الشروط التالية:
- الماسح الضوئي B يقع على يمين x=10
- الماسح الضوئي B يقع فوق الماسح الضوئي C
- قيمة السطح عند الماسح الضوئي A تساوي 7
ثم يتم تنفيذ العمليات التالية:
- يتحرك الماسح الضوئي A إلى السطح ويتخذ وضعية الماسح الضوئي B
- يتحرك الماسح الضوئي A صفين للأعلى
- يقوم الماسح الضوئي أ بكتابة الرقم 3 على السطح
ثم يتم تمرير التحكم إلى العبارة التي تحمل التسمية LOC5.
بهذه الطريقة، يمكن برمجة أنماط معقدة في سلوك الماسحات الضوئية أثناء عملية إخراج الفيلم. جميع عمليات الماسح الضوئي فورية وتُحدّث الأسطح دون أي إخراج للإطارات بين العمليات.
تندرج العمليات رفيعة المستوى في BEFLIX تقريبًا ضمن أربع فئات:
- التحكم في إخراج الصور إلى الشريط المغناطيسي، وتخزين الصور واسترجاعها على محرك الأقراص
- عرض العناصر الأساسية للرسم (الخط، القوس، رسم المنحنى، والنص)
- إجراء عمليات فورية على مناطق مستطيلة
- إجراء عمليات ديناميكية على مناطق مستطيلة
يمكن تنفيذ عمليات رسم الأشكال الأولية وعمليات المستطيل الديناميكية بشكل تدريجي عبر سلسلة من إطارات الإخراج كطريقة سريعة لترميز الرسوم المتحركة.
روابط خارجية
مراجع
- ↑ نولتون، كينيث سي. (ربيع 1964). "تقنية حاسوبية لإنتاج أفلام الرسوم المتحركة". وقائع مؤتمر AFIPS . 25 : 67-87 .
- لغات البرمجة الخاصة بالمجال
