Сайт Алексея Озерицкого

Искусственный интеллект, суперкомпьютерные системы, параллельные вычисления, численные методы, алгоритмы

Vizualizer 3D

  1. Скриншоты
  2. Управление
  3. Сборка
  4. Лицензия

Эта программа предназначена для создания трехмерных графиков. Делал я ее под свои задачи, поэтому до gnuplot или origin ей по набору функций очень и очень далеко. Тем не менее, вот её основные возможности:

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

Скачать vizualizer-2009-04-20.tar.bz2 (исходный код, 1,25 Мб)

Скачать vizualizer-2009-04-20-win32-bin.tar.bz2 (сборка для Windows x86, 583 Кб)
Скачать vizualizer-2009-04-20-win64-bin.tar.bz2 (сборка для Windows x86_64, 645 Кб)

Скриншоты

Vizualizer 3D Vizualizer 3D Vizualizer 3D Vizualizer 3D Vizualizer 3D Vizualizer 3D

Управление

Клавиши

~ Открыть консоль.
+ Приблизить камеру.
- Отдалить камеру.
tab Вывести список команд / Использовать автодополнение в консоли.
shift + стрелка «вверх» или «вниз» Прокрутить текст в консоли.
стрелки «вверх», «вниз», «влево», «вправо» Переместить камеру. Управление камерой осуществляется по всем трем осям.
d Сменить режим отрисовки: точки, треугольники, закрашенные треугольники, линии уровня, триангуляция.
f Переключиться в полноэкранный или обратно в оконный режим.
l Переключиться в режим для печати (доступен только для команды triang).
p Сменить проекцию: перспективную или ортогональную.
q Выйти из программы.
s Сохранить изображения в файл screen0.ps.

Команды

Легенда: arg — обязательный, а [file] — дополнительный параметр.

run arg Запустить системную команду с названием arg, например:
run ls
Для одновременного выполнения вычислений и визуализации, run можно использовать вместе с командой triang:
run ./calculate_function | triang
В этом случае triang будет получать данные из потока stdout команды calculate_function.

В крупных и известных пакетах визуализации такой простой функции нет. В будущем я планирую расширить список команд, способных взаимодействовать с run.
list Вывести список всех изображенных объектов.
select id Выделить объект с идентификатором id.*
delete id Удалить объект с идентификатором id.*
hide id Cкрыть объект с идентификатором id.*
screen Cохранить снимок экрана в файл screen0.ps.
triang [file] Визуализировать функцию, заданную на многообразии. Если эта команда используется вместе с командой run, название файла можно не указывать.

Формат файла:
# это комментарий
# ниже идут точки
# x, y, z, f
0.8506508083520400 0.5257311121191335 0.0000000000000000 18.7347593882729271
-0.8506508083520401 0.5257311121191333 0.0000000000000000 20.4360610049770095
0.8506508083520401 -0.5257311121191334 0.0000000000000000 18.7347593882729271
-0.8506508083520402 -0.5257311121191331 0.0000000000000000 20.4360610049770095
0.5257311121191335 0.0000000000000000 0.8506508083520400 9.4574421932814392
......
# ниже идут вершины треугольников
1 641 642
162 642 643
161 643 641
641 642 643
.....
# конец
Точка задается с помощью четырех параметров: x, y, z и f.
x, y и z — это координаты точки на многообразии в трехмерном пространстве, а f — это значение функции в этой точке. Параметры x и y указывать обязательно, остальные — опциональны, и если не заданы, то их значение считается равным нулю.
segments file Нарисовать ломаную по набору заданных в файле отрезков.

Формат файла:
{x1, y1}-{x2, y2} color1
{x3, y3}-{x4, y4} color1
...
на каждой строке файла указывается один отрезок со своими координатами и цветом.
batch file Последовательно выполнить список команд из файла, например:
triang test.txt
screen
quit
quit или exit Выйти из программы.
clear Удалить все отрисованные объекты.
matrix file Визуализировать функцию, заданную на сетке в прямоугольной области.

Каждый элемент матрицы соответствует значению функции в узле сетки. Номер строки и номер столбца являются декартовыми координатами.
sphere file [type] Аналог команды matrix для функций, заданных на сфере.

Номер строки и номер столбца являются сферическими координатами. Сферические координаты задаются также как и в географии с помощью «широты» и «долготы».

Параметр type может принимать значения full или half. По умолчанию используется full.

* Идентификатор можно определить с помощью команды list.

Сборка

Для сборки Visualizer 3D необходимо установить пакеты glut и glib-2.0. Для сборки под Windows дополнительные пакеты не требуются — в архив включены уже собранные под MS Visual Studio 2008 glut и glib-2.0, а также их H-файлы.

Linux

Выполните следующие команды:

cmake -DCMAKE_BUILD_TYPE=Release .
make

Windows

Выполните следующие команды:

cmake -G "Visual Studio 9 2008" .

где вместо «Visual Studio 9 2008» подставьте свою версию студии. Подробности см. в документации к cmake.