BEFLIX - BEFLIX

BEFLIX это имя первого встроенного предметно-ориентированного языка для компьютерной анимации , изобретенной Кен Knowlton в Bell Labs в 1963 году название происходит от сочетания Bell Flicks . Кен Ноултон использовал BEFLIX для создания анимационных фильмов для образовательных и инженерных целей. Он также сотрудничал с художником Стэном Вандербиком из Bell Labs, чтобы создать серию компьютерных анимационных фильмов под названием Poemfields в период с 1966 по 1969 год.

BEFLIX был разработан на мэйнфрейме IBM 7090 с использованием рекордера микрофильмов Stromberg-Carlson SC2040 для вывода. Среда программирования, на которую нацелен BEFLIX, состояла из реализации FORTRAN II с макросами программы сборки FORTRAN II (FAP). Первая версия BEFLIX была реализована с помощью макроса FAP. Более поздняя версия, нацеленная на FORTRAN IV, напоминала более традиционную библиотеку подпрограмм и теряла некоторые уникальные особенности языка.

Пиксели создаются путем записи символов на экран устройства записи микрофильмов с помощью расфокусированного электронного луча. SC2040 использовали ЗНАКОПЕЧАТАЮЩУЮ ЭЛТ трубку , чтобы выставить микрофильм. В BEFLIX электронный луч расфокусирован для рисования пикселей в виде размытых форм символов. Символы выбираются для создания диапазона значений оттенков серого для пикселей. Рекордер микрофильмов не подключен напрямую к 7090, а общается через магнитную ленту. BEFLIX записывает вывод на магнитную ленту на 7090, а видеомагнитофон считывает ленту для создания вывода на пленку. BEFLIX также поддерживает режим предварительного просмотра, в котором выбранные кадры вывода записываются на линейный принтер.

Модель программирования

Память 7090 организована в виде прямоугольных поверхностей пикселей. Поверхности обозначаются двухбуквенным кодом, который определяет конкретную геометрию поверхности. BEFLIX поддерживает два разрешения для выходных кадров: высокое (252x184) и грубое (126x92). У 7090 достаточно памяти для поддержки двух кадров с высоким разрешением. Организация поверхностей в BEFLIX допускает различные геометрические комбинации меньших поверхностей в пределах доступной памяти. Пиксели BEFLIX хранят значения 0–7, что позволяет упаковать их от 12 до 36-битного слова 7090.

BEFLIX обеспечивает операции низкого уровня и операции высокого уровня. Для низкоуровневых операций BEFLIX предоставляет 26 сканеров с именами от A до Z. Сканер имеет значение и координату положения на поверхности. Операторы низкого уровня в 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
  • значение поверхности на сканере А равно 7

затем выполняются следующие операции:

  • сканер A перемещается на поверхность и позиционируется как сканер B
  • сканер A перемещается на 2 строки вверх
  • сканер A пишет цифру 3 на поверхности

а затем управление передается оператору с меткой LOC5 .

Таким образом, можно запрограммировать сложные шаблоны в поведении сканеров в процессе вывода пленки. Все операции сканера являются немедленными и обновляют поверхности без вывода кадров между операциями.

Операции высокого уровня в BEFLIX можно разделить на четыре категории:

  • управлять выводом картинок на магнитную ленту, сохранять и извлекать картинки на диск
  • рендеринг примитивов рисования (линия, дуга, график кривой и текст)
  • выполнение мгновенных операций на прямоугольных участках
  • выполнение динамических операций над прямоугольными областями

Операции рисования примитивов и динамических прямоугольников могут выполняться постепенно в серии выходных кадров в качестве быстрого способа кодирования анимации.

внешние ссылки

Рекомендации

  1. ^ Ноултон, Кеннет С. (весна 1964 г.). «Компьютерная техника для создания анимационных фильмов». Материалы конференции AFIPS . 25 : 67–87.