Про презентации и анимации

Презентации -- слово новое, иностранное, и означает оно некий документ в электронном виде, который с помощью компьютера показывается на лекции, семинаре, рекламной акции, и вообще в каком либо выступлении перед людьми. Типичным примером такой акции является защита каких-либо ученых степеней или дипломов. Я не знаю точно когда все это началось, но, скорее всего еще до моего рождения. А для каждого человека все, что было до его рождения, как бы и не было вовсе. И не хочется так думать, но так получается почти автоматически. Потому и не знают молодые люди про жизнь стариков, что им это не интересно. А старики типа Никиты Михалкова возмущаются, говорят -- это безграмотность, куда смотрит правительство.

Но я живу долго и свою кандидатскую диссертацию я защищал с презентацией на листах бумаги из ватмана. Впрочем даже на современных конференциях есть стендовые доклады, которые тоже делаются на бумаге. Но вот уже свою докторскую диссертацию в 1985 году я защищал без бумаги. Я в числе первых показывал на стенку картинки, которые проектировались через проектор с прозрачных листков формата А4, на которых все было написано фломастером. Такой способ был намного удобнее, потому что презентация помещалась в портфель. А большие листы ватмана не помещались.

А потом наступила эра персональных компьютеров и ноутбуков. И прозрачки больше были не нужны. Через проектор на стенку показывали картинки прямо с экрана ноутбука. А набор картинок для показа стали называть презентацией. Такой способ презентации просуществовал относительно долгое время, да и сейчас кое-где используется. Проекторы стали относительно дешевые, компактные, их даже домой стали покупать, чтобы показывать фотографии на стенке. Но в фирмах побогаче уже перешли к большим компьютерным или телевизионным экранам размером в полстены. Такие экраны светят более ярко, и зал даже не обязательно затемнять, то есть закрывать окна. С проекторами были проблемы, если в зале очень светло.

Самые первые презентации показывали в виде файлов типа pdf или ppt. Это и сейчас часто используется. Файлы типа pdf показывает программа Adobe Reader, а файлы типа ppt -- программа Microsoft Power Point (MPP), входящая в серию программ Майкрософт Офис. Программа MPP не только показывала, но и умела создавать сами слайды, то есть картинки, которые сменяют друг друга. А pdf файлы можно было создавать разными способами с помощью других программ, которые первоначально имели хождение в системе Юникс (Линукс), но потом появились и в Виндовс.

Вообще говоря, есть очень прямой и простой способ создавать pdf файлы. Для этого надо установить на компьютере программу, которая называется "pdf принтер". И тогда из любой программы, которая способна печатать на принтере, можно получить результат ее работы в виде pdf файла. Сейчас самая массовая программа такого типа называется doPDF. Ее легко найти поиском в Яндексе, поэтому я даже не буду давать ссылку на ее сайт. Есть уже и онлайн сервисы по конвертированию документов в pdf и даже по созданию pdf файлов.

Но есть и еще более прямой способ, который не требует конвертирования -- это программирование слайдов на языке постскрипт. Этот способ, однако, не годится для массового безграмотного юзера, потому что нужно уметь программировать. Однако я сам оценил огромные возможности данного метода еще в далеком 1996 году. Как только мне удалось достать литературу, я сразу научился программировать на постскрипте. И даже сделал собственную программу, которая конвертировала в постскрипт некий текстовый файл протокола, написанный по более простым правилам, которые я сам же и придумал. Это как бы был мой собственный язык программирования более высокого уровня. Постскрипт файл затем можно было конвертировать в pdf. Ведь pdf формат был придуман как развитие постскрипта.

Есть и независимый способ создания pdf документов на языке Латех. Этот язык является более простой версией языка Тех, который придумал математик Кнут. Это тоже язык программирования, но ориентированный на документы. Недавно мне пришлось работать с дипломницей из МИФИ, и я с удивлением узнал, что их обучают создавать документы в Латехе, а не в Ворде. Ведь вся научная братия в России, и не только научная, подсела на Майкрософт офис, и на его программу Ворд. Это ужасно, но это реальность. И вот оказывается, что есть надежда на то, что новое поколение все таки будет пользоваться Латехом.

Но вернемся к теме. Итак, презентация -- это набор картинок (слайдов), которые надо показывать на экране один за другим в процессе доклада. Основными полезными свойствами программы показа слайдов являются возможность показа иконок всех слайдов сразу с целью быстро выбрать нужный слайд, прокручивание слайдов в прямом и обратном направлении, и возможность показывать слайды на весь экран. На слайдах может быть текст с разным фасоном и картинки с подписями. Но часто хочется показать и некий процесс в движении, то есть анимацию.

Анимации в pdf файлах не предусмотрены. Этот формат, в основном, создавался для печати (по наследству от постскрипта) и для передачи по интернету. А программа Microsoft Power Point умеет показывать анимации в виде анимированного gif файла. Этот формат был придуман давно, и он как бы для картинок, но может показывать и набор картинок через небольшие промежутки времени.

Так как я умею программировать, то мне давно хотелось сделать собственную программу презентации. Впервые такая идея возникла в связи с тем, что было бы полезно ставить на экран часы. А стандартные программы это не умеют. Как только я научился графическому пакету языка javascript я сразу сделал программу часов на этом языке. Поэтому я первоначально решил сделать программу показа презентации на это языке. Это оказалось несложно, программу я сделал, и она была способна поставить часы на экран.

Часы нужны потому, что на конференции на доклад дают ограниченное время и надо хорошо видеть сколько времени осталось, а смотреть постоянно на ручные часы не удобно. Но потом оказалось, что проблема с часами решается более просто. Есть много готовых программ, которые можно поставить на экран поверх всех других окон, и они показывают время независимо от программы презентации. Совсем не обязательно включать часы в саму программу презентации. Об этом я написал вот тут [1]. Тем не менее, данная программа существует, и я для нее написал статью на своем сайте, вот ссылка [2].

Точнее, на языке javascript создается программа для конкретной презентации. А для создания такой программы я написал программу, которая сама создает такую программу по адресам картинок (слайдов), причем не только на компьютере, но и в интернете. На самом деле программ показа картинок на компьютере очень много, две из них я описал в рассказе на сайте Прозы, вот ссылка [3]. Их тоже можно использовать, но они не показывают картинки на весь экран. Точнее, могут показывать, но все таки не совсем так, как это делает программа Microsoft Power Point. То есть это не стандарт, а моя программа делает стандартно.

Сложность лишь в том, что нужно использовать браузер, а их много, и не факт, что на компьютере, который показывает доклады, стоит нужная версия того браузера, который использовался при создании презентации. А запускать браузер с флешки не очень быстро. Именно по этой причине я сам, в конце концов, отказался от такого способа, хотя несколько докладов я с помощью своей программы сделал, и все было замечательно. И есть еще один недостаток. Показывать анимации можно, но их надо программировать на языке javascript, а это сложно формализовать.

В конце концов я решил сделать аналогичную программу презентации на языке программирования java, который является моим основным языком программирования. И даже не так. Моим основным языком является мой собственный язык ACL, который интерпретируется программой, написанной на java, и эту программу я сам же и написал, вот ссылка на ее сайт [4]. И главной целью такой программы должна была стать возможность показывать любые анимации. Опять не так, видео файлы в формате mp4 я показывать не умею. Да и они нежелательны, так как имеют очень большой размер файлов.

Зато я умею показывать разные динамические процессы в режиме, когда картинка создается на одно мгновение в памяти компьютера, только для показа, и потом в файл никак не спасается. В принципе, записать видео с такой анимацией можно прямо с экрана компьютера, но в этом нет необходимости. Программа может иметь параметры, и в зависимости от значения параметров она может показывать много разных анимаций, оставаясь очень компактной.

Я сделал такую программу. Ее можно запускать в указанной выше программе, но для удобства тех пользователей, которые не желают изучать мой язык программирования, я сделал отдельную версию этой программы, которая просто показывает иконки всех уже созданных мной программ на моем языке. Достаточно кликнуть иконку и программа заработает. К каждой программе есть описание ее входных параметров и инструкция как ей пользоваться. Программа презентации стала просто одной из многих в этой программе. Она называется Lecture. Вот ссылка на сайт этой программы, она называется vkUtility, откуда ее можно скачать [5].

Программа Lecture показывает систему слайдов в виде картинок. Для приготовления слайдов есть другая программа Slide Maker как модуль той же самой программы vkUtility, но есть и отдельная java программа vkSM, вот ссылка на ее сайт [6]. В программе Lecture можно приготовить таблицу иконок на все слайды и из нее сразу выйти на нужный слайд. Она может показывать слайды на весь экран. И к каждому слайду можно дополнительно прибавить программу на моем языке ACL, которая покажет анимацию в отдельном окне поверх слайда.

В программе Microsoft Power Point можно встраивать анимацию в слайд как отдельную картинку. Я тоже мог бы так сделать, но пока не сделал. Анимация в отдельном окне мне нравится больше. Дело в том, что такой анимацией можно управлять по кнопкам клавиатуры, а можно и кнопки на экран вывести. Но использовать клавиатуру удобнее. Чтобы использовать возможность показа анимации в полной мере, надо знать мой язык ACL. Но можно просто использовать уже готовые программы, которые я написал, заменяя в них лишь значения некоторых параметров.

Первая и очевидная программа такого типа является аналогом анимированного gif файла. Она просто показывает картинки одну за другой с некоторым интервалом по времени. Но могут быть и другие варианты. Недавно я сделал другую версию анимации, которая показывает двумерный массив чисел в виде набора кривых зависимости от первого аргумента на общих осях. При этом с течением времени кривые меняются при изменении значения второго аргумента. Эта программа -- просто новое слово в представлении двумерных массивов.

Раньше такие массивы изображались как поверхности z(x,y) в трехмерном пространстве, или как цветные карты, в которых двумерные точки области аргумента красились в разные цвета в зависимости от значения функции. Оба таких представления хороши только для медленно меняющихся функций, и они показывают зависимости с низкой точностью. Анимация сечений позволяет относительно быстро посмотреть двумерный массив с высокой точностью.

Первую версию такой программы я сделал еще в мае. И даже вот тут [7] записал ее код с объяснением как он работает. Но программа оказалась очень удобной при работе с двумерными массивами, и я только что сделал более продвинутую версию, в которой есть много полезных функций. Код программы, я в будущем опубликую в том же месте.

Саму программу Lecture я пока использовал только один раз, в выступлении на семинаре. Все прошло замечательно. Я просто записал на компьютер, который мне дали для доклада, саму программу vkUtility вместе с виртуальной машиной языка java, то есть JRE. И все отлично сработало. В будущем попробую запускать программу прямо с флешки, но иногда такой способ может тормозить анимацию. Нужно накопить опыт. Можно попробовать вместо флешки запускать программу с внешнего винчестера. Но и записать заранее все вместе на чужой компьютер тоже не трудно.

Картинка показывает слайд презентации и анимационное окно поверх слайда. Вот ссылка [8] на эту картинку с лучшим разрешением. Интересно, что моя программа vkSM работает таким образом, что она записывает весь экран в картинку, из которой потом можно вырезать нужный фрагмент. Но при этом на экране должна быть системная строка для активации программы. Проблемы возникают тогда, когда слайд показывается на весь экран, и системной строки нет. Для этой цели я использовал кнопку Print Screen. А программа Dropbox, установленная у меня на компьютере сразу записала копию экрана в свою папку в виде готового файла. 

Ссылки

[1] [2] http://kohnvict.ucoz.ru/jsp/WebShow.htm
[3] http://www.proza.ru/2014/05/20/1826
[4] http://kohnvict.ucoz.ru/vkacl/vkACLdr.htm
[5] http://kohnvict.ucoz.ru/vkacl/vkUtility.htm
[6] http://kohnvict.ucoz.ru/tein/vksm.htm
[7] http://kohnvict.ucoz.ru/acl/tassol04.htm
[8]


Рецензии