Файлы формата CDF (Computable Document Format) обладают разнообразнейшими возможностями применения, сочетая эффективность и гибкость языка Mathematica с возможностями широкого распространения, предоставляемыми общедоступным форматом.
Благодаря встроенной функции Mathematica 8, Ваши рабочие "блокноты", отформатированные документы и статьи или разработанные Вами специализированные приложения могут быть легко сохранены прямо в файлы формата .cdf. Все то, что Вы вычисляете в Mathematica, может быть реализовано в виде интерактивных приложений, предлагающих максимально ясное отражение Ваших идей. При этом не требуется соблюдение каких-либо специальных условий для создания документов, предназначенных для просмотра в Wolfram CDF Player; все возможности документов будут отображаться на экране, а сами документы могут быть выведены на печать.
Файлы формата CDF (Computable Document Format) могут быть созданы из существующих "блокнотов" Mathematica или с нуля. Они могут содержать абсолютно все, что Вы можете создать в "блокноте" Mathematica.
Самый простой способ создать новый .cdf файл - выбрать пункт меню File ? New ? FreeCDF (.cdf) :
Появится новое, пустое окно, точь в точь как если бы Вы открыли новый "блокнот". Вы можете добавлять в это окно содержание точно так же, как если бы это был "блокнот" Mathematica.
Основное отличие между "блокнотом" Mathematica и файлом формата .cdf заключается в возможности взаимодействия с Вашим документом при его просмотре в CDF Player. Файлы "блокното в" Mathematica (файлы с расширением .nb) при просмотре в CDF Player отображаются как статичные документы, однако в файле формата .cdf любой объект, созданный с помощью функции Manipulate, обладает полной интерактивностью при просмотре в CDF Player.
Например, если Вы добавите следующую ячейку в .cdf файл, пользователи, просматривающие Ваш документ при помощи CDF Player, смогут передвигать ползунки и в реальном времени наблюдать за соответствующим этому изменением графика функции:
In[2]:=
Out[2]=
Интерактивное и статическое содержимое .cdf файла можно чередовать в любом порядке и пропорции. К примеру, Вы можете добавить заголовок к Вашей интерактивной модели:
Однако, не все содержание созданного таким образом .cdf файла будет интерактивным. Для получения более подробной информации, смотри раздел Interactivity in .cdf Files.
Открытый "блокнот" Mathematica может быть превращен в .cdf файл одним из двух способов. Первый заключается в использовании команды меню Save As... , а второй использует пункт меню Deploy. Для получения более подробной информации о пункте меню Deploy или о том как встроить .cdf файл в существующий HTML код, смотри раздел Deploying a .cdf File.
Для использования команды меню Save As... , выделите открытый в Mathematica "блокнот", а затем выберите команду File ? Save As...:
Затем, в появившемся окне программы просмотра файлов, выберите Computable Document (*.cdf) из выпадающего меню Save as type: :
Вот и все! Ваш "блокнот" теперь сохранен как интерактивный .cdf файл, готовый для просмотра в CDF Player.
Третьим способом создания .cdf файла является применение функции Export. Обе функции, как Import так и Export по&# 1083;ностью поддерживают формат файлов CDF.
Ниже дан пример выражения, создающего документ Mathematica, который содержит интерактивную модель, заданную с помощью функции Manipulate:
In[1]:=
Только что созданный "блокнот" должен выглядеть таким образом:
Для создания .cdf файла из приведенного выше выражения, воспользуемся функцией Export, точно так же как и для любого другого формата файла:
In[2]:=
Out[2]=
Используя команду меню File ? Deploy, Вы можете либо сохранить .cdf файл как самостоятельный документ, либо без труда внедрить его в существующий код HTML, как целиком, так и лишь выбранный фрагмент.
Для создания автономного .cdf файла, выберите пункт меню File ? Deploy ? Standalone...:
После щелчка на пункте меню, появится следующее окно:
Следуйте инструкциям мастера для создания автономного .cdf файла. Обратите внимание на то, что если Вы хотите сохранить в виде .cdf файла лишь выделенный фрагмент "блокнота" а не целый "блокнот", Вы должны выделить требуемый фрагмент до открытия мастера.
Если Вы хотите создать .cdf файл для внедрения в веб-страницу, выберите пункт меню File ? Deploy ? Embed in HTML...:
После щелчка на пункте меню, появится следующее окно:
Мастер проведет Вас по всем этапам создания .cdf файла (как из целого документа, так и из выбранного фрагмента), оговаривая место размещения .cdf файла на Вашем веб-сервере, а затем выдаст фрагмент HTML кода для копирования и вставки в существующий файл HTML. Обратите внимание на то, что, аналогично созданию автономного .cdf файла, если Вы хотите сохранить лишь выделенный фрагмент "блокнота" а не целый "блокнот", Вы должны выделить требуемый фрагмент до открытия мастера.
Интерактивность в .cdf файлах
Почти все доступные в Mathematica функции могут быть использованы при создании приложений для CDF Player, однако существуют несколько программных ограничений, которые нужно учитывать.
Весь интерактивный контент должен создаваться при помощи функции Manipulate и может использовать лишь управляемые мышью элементы, такие как Slider, Locator, Checkbox, PopupMenu и т.п.
Диалоговые окна не поддерживаются.
Операции с MathLink, а также с J/Link и .NET/Link, не поддерживаются.
Импорт и экспорт данных в/из CDF Player не поддерживается, за исключением источников данных предоставляемых Wolfram (ChemicalData, CountryData, WordData и т. п.).
Ввиду того, что CDF Player не может загружать пользовательские данные во время работы, Вам необходимо позаботиться о том, чтобы вся необходимая информация была встроена в и нтерактивные элементы Вашего .cdf файла. Это может быть выполнено с помощью опций функции Manipulate: Initialization или SaveDefinitions.
Опция Initialization может использоваться для включения небольших блоков кода и данных в интерактивную модель, как в этом простом примере:
In[1]:=
Out[1]=
В качестве альтернативы, для больших блоков кода или обширных наборов данных более удобным способом было бы их определение до создания интерактивной модели, с сохранением их состояния при помощи опции SaveDefinitions. Простой пример, показанный ниже, повторяет предыдущий пример, но без использования опции Initialization:
In[2]:=
Out[4]=
Для активации в .cdf файлах контента, состоящего из приложений высокого уровня , такого как произвольный ввод, диалоговые окна и загрузка внешних данных, свяжитесь с Wolfram Research.