BEFLIX

редактировать

BEFLIX - это имя первого встроенного спецификатора домена c язык для компьютерной анимации, изобретенный Кеном Ноултоном в 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 использовалась трубка charactron для экспонирования микрофильмов. В 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
  • значение поверхности на сканере A равно 7

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

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

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

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

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

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

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

Внешние ссылки
Ссылки
  1. ^Ноултон, Кеннет К. (весна 1964 г.). «Компьютерная техника для создания мультфильмов». Материалы конференции AFIPS. 25 : 67–87.
Последняя правка сделана 2021-05-11 03:18:43
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте