Окно трёхмерного отображения данных с помощью OpenGL

Трёхмерное отображение OpenGL для текущего окна данных можно вызвать кнопкой с изображением куба в ряду кнопок Вид главного окна.

Эта возможность является опциональной, т.е. она может быть отключена во время сборки. Также возможен вариант, когда Gwyddion может отображать трёхмерные данные, а ваша система это не поддерживает. В обоих случаях попытка вызвать трёхмерный вид приводит к появлению сообщения об ошибке, объясняющему, какой из двух вариантов произошел. В первом случае вам нужно попросить тех, кто собирает исполняемые файлы Gwyddion, собрать его с поддержкой трёхмерного отображения или собрать программу самому из исходного кода. Во втором случае, обратитесь к руководству по вашей операционной системе и посмотрите там как включить поддержку трехмерных функций OpenGL. Если у вас наблюдается плохая производительность окна трёхмерного просмотра в MS Windows, то можно попробовать отключить эффекты рабочего стола для Gwyddion (на вкладке Compatibility или Совместимость ярлыка программы).

Окно трёхмерного вида может существовать в двух вариантах: с основными и с расширенными элементами управления. Оно запускается только с основными элементами управления, этот вариант показан на следующем рисунке. Можно переключить окно к расширенному виду (и обратно) с помощью кнопки расширения в верхнем правом углу. Нажатие на вид с помощью правой кнопки мыши вызывает окно быстрого выбора градиента псевдоцвета/материала OpenGL.

Окно трёхмерного просмотра данных с помощью OpenGL с основными элементами управления.

Основные элементы управления

Основное окно трёхмерного просмотра содержит справа элементы интерактивного управления. По умолчанию перетаскивание вида мышью вращает его по горизонтали и вертикали. Все возможные режимы перечислены ниже вместе с горячими клавишами, которые переключают между ними:

Поворот (R)

Включено по умолчанию при первом показе окна трёхмерного просмотра. При перетягивании вида горизонтально вращает его вокруг оси z, перетягивание по вертикали вращает вид вокруг горизонтальной оси, параллельной плоскости проецирования.

Масштабирование (S)

Перетаскивание вида вверх увеличивает его; перетаскивание вниз уменьшает. Размер также можно настраивать колёсиком мыши.

Масштаб значений (V)

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

Поворот источника света (L)

Этот элемент управления будет доступен если в режиме визуализации есть источник света, т.е. в режиме освещения и наложения другого канала (оверлея). Перетаскивание вида мышью меняет положение источника света подобно повороту в нормальном режиме поворота. Горизонтальное перемещение меняет угол φ (направление в горизонтальной плоскости, азимут). Вертикальное перемещение меняет угол ϑ между направлением света и горизонтальной плоскостью. Положение источника света показывается используя «колесо» вокруг поверхности.

Основные элементы управления также включают в себя кнопку экспорта изображения.

Полный набор элементов управления

В режиме расширенных элементов управления кнопки расположены в верхнем ряду, однако их функции не меняются. В дополнение под ними появляются несколько вкладок с настройками:

Окно трёхмерного просмотра в Gwyddion поддерживает несколько режимов визуализации, которые можно выбрать на вкладке Свет и материал, которая сочетает два основных метода:

  • Представление значений данных шкалой псевдоцвета, как в обычном просмотре изображений.
  • Отрисовывая освещение поверхности источником света (задаваемым элементами управления светом).

Режимы Градиент и Наложение - без света не используют освещение. Единственное различие между ними в том, что в режиме простого градиента цвет всегда соответствует высотам; в режиме наложения для отображения высоты и цвета можно использовать различные изображения. В режиме Освещение отрисовывается освещение поверхности с использованием выбранного материала. И наконец, Наложение сочетает окраску и освещение. В этом режиме снова высота и цвет могут задаваться различными изображениями.

Режимы визуализации трёхмерного вида. Верхний ряд: простой градиент и освещение. Нижний ряд: оверлеи с другим каналом, используемым для раскраски (слева без освещения, справа с освещением).

Сохранение изображений

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

Форматом по умолчанию является PNG (Portable Network Graphics). Меняя расширение имени файла на .jpg, .jpeg, .tif или .tiff можно сменить формат изображения на JPEG или TIFF. Если ввести нераспознаваемое расширение, изображение будет сохранено в формате PNG, хотя и с неправильным расширением.

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

Редактор материалов OpenGL

Редактор материалов OpenGL можно вызвать с помощью пункта меню ПравкаМатериалы OpenGLs. Элементы управления в списке материалов те же, что и в списке редактора градиентов псевдоцвета и управление материалами происходит похожим образом. Актуальный редактор, естественно, отличается. Он позволяет редактировать четыре основных свойства, которые задают материал:

  • фоновый цвет ka,α (где α = red, green, blue), управляющий отражением фонового освещения, которое считается приходящим равномерно со всех возможных направлений,
  • диффузный цвет kd,α, описывающий диффузное отражение света, которое не зависит от направления падающего света и чья кажущаяся яркость не зависит от угла наблюдения,
  • зеркальный цвет ks,α, управляющий зеркальным отражением, где интенсивность отраженного света зависит от угла между направлением на наблюдателя и направлением луча света, который бы отразился идеальным зеркалом с тем же направлением нормали, и
  • блеск s, численный показатель, определяющий насколько зеркальное отражение похоже на идеальное зеркало, меньшие значения соответствуют более шероховатым поверхностям, большие – более гладким.

Если мы обозначим L обычный вектор, указывающий из точки плоскости наблюдения на источник света, V вектор к наблюдателю, N вектор нормали к поверхности и R вектор в направлении отражения идеальным зеркалом, наблюдаемая интенсивность света в модели освещения OpenGL может быть выражена как

где Ia,α, Id,α и Is,α - интенсивности окружающего, рассеянного и зеркального источников света, соответственно.