Главная страница Visual 2000 · Общий список статей

Секрет успеха пакета SURFER — отвечать требованиям дня

Андрей Колесов

© 1995, Андрей Колесов
Авторский вариант. Статья была опубликована c незначительной литературной правкой в PC Week/RE № 16'95, с.15-17

Американская фирма Golden Software Inc. объявила...
SURFER версии 5.0
Версия 5.0
основные функциональные возможности
Макросредства управления пакетом
Что нового в SURFER версии 6.0?


Американская фирма Golden Software Inc. объявила...

Осенью этого года американская фирма Golden Software Inc. объявила о выпуске новой версии 6.0 своего самого популярного пакета SURFER.

Фирма Golden Software (штат Колорадо), начиная с момента своего создания в начале 80-х годов, занимается разработкой программных пакетов научной графики. При этом надо отметить, что она демонстрирует весьма поучительный пример устойчивого положения небольшой компании, ведущей разработку и реализацию своих программных продуктов в своей "экологической нише" мирового компьютерного рынка.

Первым программным продуктом фирмы была система Golden Graphics System, которая позднее получила название SURFER, сохранившееся за ней до нынешних времен. Этот пакет предназначен для математической обработки и визуализации в виде карт изолиний и трехмерных изображений наборов данных, описываемых двумерной функцией типа z=f(y,x). (По некоторым сведениям, его автором был американский аспирант, занимавшийся динамикой подземных вод). Затем в середине 80- х годов был выпущен пакет GRAPHER для обработки и вывода графиков наборов данных и функций типа y=f(x).

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

Уже в конце 80-х годов оба эти пакета попали в СССР и с тех пор их копии (разумеется, нелегальные!) в самых разнообразных конфигурациях можно найти почти во всех научных и высших учебных заведениях соответствующего профиля стран СНГ.

В 1990 года фирма объявила о прекращении развития версий пакетов для DOS и начале разработок для Windows. В 1991 году был выпущен новый пакет MapViewer, предназначенный для визуализации графической и числовой информации в виде разнообразных карт, а затем версии для Windows уже известных пакетов GRAPHER (1993 год) и SURFER (1994 год). Тем не менее, следует отметить, что несмотря на прекращение развития DOS-овских версий, фирма Golden Software и сегодня продолжает их распространение и техническую поддержку. Таким образом, в настоящее время Golden Sotfware распространяет пять программных продуктов: SURFER для DOS (499 долл.) и Windows(499 долл.), GRAPHER для DOS (199 долл.) и Windows(199 долл.) и MapViewer для Windows (249 долл.).

Но безусловным лидером по популярности среди продуктов Golden Software продолжает оставаться является пакет SURFER, который уже давно стал своеобразной визитной карточкой фирмы. Ссылки на него имеются почти во всех научных изданиях или программных продуктах, связанных с численным моделированием и обработкой экспериментальных данных. Объем продаж SURFER для DOS составил за 10 лет более 30 тыс. копий, что является весьма значительным для такого специализированного продукта. Однако успех новой версии для Windows (она получила номер 5.0, продолжая DOS-овскую нумерацию) был еще более впечатляющим — в 1994 году всего за полгода с момента ее выпуска было продано свыше 7 тыс. копий.

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

В начало статьи

SURFER версии 5.0

Общее внешнее впечатление от пакета — работать стало гораздо удобнее и проще. В значительной степени это уже ставший привычным Windows- интерфейс с его традиционными атрибутами: раскрывающиеся меню, панели инструментов, диалоговые окна, кнопки, управляющие линейки и пр. При этом, используя принцип диалога Windows "выбрать-и-щелкнуть", можно выполнять различные операции, не проходя через лабиринт меню. Подключение Справочной Системы Windows обеспечивает вывод контекстно-зависимой справки для любой позиции меню или диалогового окна, а использование многооконного интерфейса позволяет выбрать наиболее удобный режим работы.

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

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

Кроме того, приятное впечатление производит довольно компактный объем пакета по сравнению с современными Windows-программами (дистрибутив состоит из 3 дискет по 1,44 Мб) и его относительно скромные требования к техническим средствам (минимум: процессор 286, 2 Мб ОЗУ; рекомендуется: 386, 4 Мб).

В начало статьи

Версия 5.0 — основные функциональные возможности

Однако главным впечатлением от пакета является то, что в нем довольно существенно расширены функциональные возможности обработки и визуализации двумерных наборов данных, которые можно условно представить в виде трех основных блоков: построение цифровой модели поверхности, вспомогательные операции с цифровыми моделями поверхности и визуализация поверхности.

Математической "изюминкой" пакета являются его алгоритмы интерполяции двумерных функций при переходе от нерегулярной сетки к регулярной (построение цифровой модели поверхности по значениям функции в отдельных произвольных точках). SURFER 5.0 предлагает теперь семь различных алгоритмов интерполяции: Крикинг (Kriging), Инверсные Расстояния (Inverse Distance) и Минимизация Кривизны (Minimum Curvature), Радиальные Базовые Функции (Radial Basis), Полиномиальная Регрессия (Polynomial Regression), Метод Шепарда (Shepard's Method — представляет собой комбинацию метода Инверсных расстояний со сплайнами) и Триангуляция (Triangulation). (В версии для DOS были реализованы только три первых метода.)

При этом обеспечена возможность более полного управления методами интерполяции со стороны пользователя. Расчет регулярной сетки теперь может выполняться для файлов наборов данных X,Y,Z любого размера, а сама сетка может иметь размеры 10000*10000 узлов. Кроме того, в новую версию входит встроенный графический редактор для ввода и коррекции значений данных сеточной области, при этом пользователь сразу видит результаты своих действий в виде изменения карты изолиний.

Расчет поверхности может быть выполнен также с помощью уравнений, заданных пользователем в явном виде: пакет включает достаточно широкий набор функций — тригонометрических, Бесселя, экспоненциальных, статистических и некоторых других.

Ввод данных выполняется из файлов форматов [.DAT] (Golden Software Data), [.SLK] (Microsoft SYLK), [.BNA] (Atlas Boundary) или простого текстового ASCII файла, а также из электронных таблиц Excel [.XLS] и Lotus [.WK1, .WKS]. Исходная информация может вводится или редактироваться с помощью встроенной электронной таблицы пакета, при этом возможны дополнительные операции с данными, например сортировка, а также преобразование чисел с помощью задаваемых пользователем уравнений.

Имеется также большой набор дополнительных средств преобразования поверхностей и различных операций с ними:

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

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

В качестве основных элементов изображения SURFER 5.0 использует следующие типы карт:

1. Карта изолиний (Countour Map). В дополнение к уже традиционным средствам управления режимами вывода изолиний, осей, рамок, разметки, легенды и пр. здесь реализована возможность создания карт с помощью заливки ее зон цветом или различными узорами. Кроме того, изображение плоской карты можно вращать и наклонять, использовать независимое масштабирование по осям X и Y.

2. Трехмерное изображение поверхности (3D Surface Map). Для него используются различные типы проекции, при этом изображение можно поворачивать и наклонять, используя простой графический интерфейс. На него можно также наносить линии разрезов, изолиний, устанавливать независимое масштабирование по осям X, Y, Z, заполнять цветом или узором отдельные сеточные элементы поверхности.

3. Карта исходных данных (Post Map). Эти карты используются для изображения точечных данных в виде специальных символов и текстовых подписей к ним. При этом для отображения числового значения в точке можно управлять размером символа (линейная или квадратичная зависимость) или применять различные символы в соответствии с диапазоном данных. Построение одной карты можно выполнять на основе нескольких файлов.

4. Карта основы (Base Map). Это может быть практически любое плоское изображение, полученное с помощью импорта файлов различных графических форматов: AutoCAD [.DXF], DOS SURFER [.BLN, .PLT], Atlas Boundary [.BNA], Golden Software MapViewer [.GSB], Windows Metafile [.WMF], USGS Digital Line Graph [.LGO], Bitmap Graphics [.TIF], [.BMP], [.PCX], [.GIF], [.JPG], [.DCX], [.TGA] и некоторых других.

С помощью разнообразных вариантов наложения этих основных видов карт и их различного размещения на одной странице можно получить самые различные варианты представления сложных объектов и процессов. Все типы карт пользователь может отредактировать с помощью встроенных инструментов рисования самого SURFER.

Полученные графические изображения можно вывести на любое печатающее устройство, поддерживаемое Windows, или выдать в файл формата AutoCAD [.DXF], Windows Metafile [.WMF], Windows Clipboard [.CLP], а также HP Graphics Language [HPGL] и Encapsulated PostScript [.EPS]. Двухсторонний обмен данными и графикой с другими Windows-приложениями может выполняться также через Буфер Обмена Windows.

В начало статьи

Макросредства управления пакетом

Одним из наиболее интересных свойств пакета SURFER для Windows является поддержка механизма OLE 2.0 Automation, который получает все более широкое распространение в Windows-приложениях. Именно он предоставляет возможность интегрированного применения SURFER в комплексных системах обработки данных и моделирования.

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

Так как SURFER поддерживает OLE 2.0 Automation, то на любом языке, который также поддерживает этот механизм (например, Visual Basic, C++ или Visual Basic for Applications), можно написать управляющий макрофайл для SURFER. В частности, с помощью набора макрофайлов можно выполнять в автоматическом режиме некоторые часто повторяющиеся задания. Такой файл может также формироваться в процессе выполнения какой-либо прикладной расчетной программы для автоматической обработки и визуализации ее данных.

Кроме того, пакет SURFER имеет собственный макроязык для создания управляющих запросов на основе OLE 2.0 Automation. Этот язык фактически является разновидностью Visual Basic for Applications, а для работы с ним следует запустить специальную программу пакета SG Scripter (файл GSMAC.EXE), которая может также использоваться для управления любыми другими программами, поддерживающими OLE 2.0 Automation (например, для работы с Microsoft Excel, Word).

В начало статьи

Что нового в SURFER версии 6.0?

Летом этого года в информационных бюллетенях фирмы появилась первая информация о предстоящем выпуске этой осенью новой версии пакета SURFER 6.0. О его реальных достоинствах пока сказать сложно, но судя по предварительным данным, в него включено немало интересных новшеств.

1. Совершенно естественно, что он реализован в виде 32-разрядной версии для работы в среде Windows NT или Windows 95, но в него входит также и 16 -разрядная версия для Windows 3.1.

2. В качестве фоновой основы при построении плоских изображений можно создавать и использовать еще два новых типа карт: Shaded Relief Map (Затененная Карта Рельефа) и Image Map (Карта Изображения). Особенно интересны карты Shaded Relief Map, которые позволяют получать изображения типа высококачественных фотографий. При этом можно управлять всеми параметрами, необходимыми для создания наиболее выразительных изображений, включая местоположение источника света, относительный градиент наклона, тип затенения и цвет.

3. Расширен состав вспомогательных операций при обработке цифровой поверхности, с помощью которых теперь дополнительно можно вычислять наклон, кривизну и линию горизонта обзора поверхности, а также первую и вторую производную для рядов Фурье и спектрального анализа. Включены дополнительные средства преобразования наборов сеточных данных и выборки их различных подмножеств. Тройной уровень вложенности позволяет получать свыше 500 комбинаций вариограмм.

4. Изображения, созданные на основе различных типов карт (Contour Map, Shaded Relief Map, Post Map, Image Map), можно использовать в качестве шаблона путем замены на новый GRD-файл в уже существующих картах. Кроме того, теперь есть возможность, объединив сначала в одно изображение несколько слоев различных карт, разделить их потом на исходные элементы и переделать на основе новых данных.

5. Для сохранения изображения карт доступны практически все растровые форматы (PCX, GIF, TIF, BMP, TGA, JPG и многие другие). А в качестве исходной цифровой модели поверхности теперь можно использовать файлы формата Digital Elevation Model (DEM).

Как видно из последней информации, пакет SURFER продолжает свое динамичное развитие и готов отстаивать свое место под солнцем в научно-исследовательском мире.

В начало статьи