<< Click to Display Table of Contents >> Navigation: ОКНА ПРОГРАММЫ DIGIMINE > Параметры графических 3D окон > Вкладка "Параметры" диалога 3D окон |
Вариант отрисовки 3D изображения
Появление новых версий Windows привело к тому, что некоторые системные функции, успешно работавшие в прежних версиях Windows, в новых версиях стали давать нежелательные побочные эффекты.
Если до Window 8 еще существовала возможность отказа от новых особенностей графического интерфейса (путем выбора "классической схемы"), то в Windows 8 такой возможности уже нет.
Из-за этого при работе в 3D окнах, в некоторых режимах, например, непосредственно при вводе полилиний, иногда появлялись артефакты, приводящие к временной порче части изображения в окне.
Путем некоторого обмана системы Windows удалось добиться того, что упомянутые проблемы не возникают.
С корректировкой проблем Windows - использовать 'недокументированный' вариант отрисовки в 3D окно, позволяющий избежать проблем при работе в окне.
'Обычная' отрисовка в окно с двойным буфером - использовать 'обычную' отрисовку с традиционным использованием системных функций. Побочные эффекты могут возникать, а могут и не возникать, т.к. поведение Windows не всегда предсказуемо.
Угол обзора в вертикальном направлении. – Для ортогональной проекции этот элемент диалога неактивен, для перспективной проекции – задается угол обзора.
Угол обзора – это угол, образованный верхней и нижней точками плоскости, на которую производится проецирование изображение (экрана) и точкой наблюдения:
Чем больше угол обзора, тем больше будет эффект "перспективы" и тем сильнее будет искажаться изображение.
Отметим, что при ортогональной проекции все точки объектов проецируются перпендикулярно экрану, поэтому понятие угла обзора отсутствует. При ортогональной проекции условно считается, что наблюдатель находится на бесконечно удаленном расстоянии.
Плоскость ввода
Задается текущая плоскость ввода для 3D окна.
Для 3D окон в программе предусмотрено 3 варианта плоскости ввода :
1. Плоскость, параллельная плоскости окна и проходящая через центр окна.
2. Горизонтальная плоскость, имеющая отметку текущего горизонта.
3. Вертикальная плоскость, проходящая через линию текущего разреза.
Кроме рассматриваемого диалога, текущую плоскость ввода можно увидеть и изменить (нажатием на узкий вертикальный элемент) при помощи графического меню:
- текущая плоскость ввода – горизонт +500м.
- текущая плоскость ввода – плоскость, проходящая через центр окна.
- текущая плоскость ввода – разрез S20.
Если при вводе информации в 3D окне используются точки стыковки, то координаты таких точек вычисляются не по плоскости ввода, а по положению точки стыковки в объекте, к которому производится стыковка.
Если между точками стыковки введены промежуточные точки, то их координаты вычисляются исходя из координат точек стыковки, текущего способа (алгоритма) вычисления и текущего вида в окне.
Размеры 'бокса'
При необходимости можно задать отрисовку 'бокса' в виде параллелепипеда с ребрами, параллельными осям координат:
Верхние ребра 'бокса' рисуются синим цветом, нижние – красным, западные – зеленым, восточные – серым.
Заметим, что по умолчанию 'бокс' не отображается.
Координаты 'бокса' вводятся либо вручную, либо вычисляются при нажатии кнопок:
"Вычислить по всем загруженным объектам" – вычисляются минимальные и максимальные координаты по всем объектам из всех загруженных файлах.
"Вычислить по всем объектам видимых файлов" – вычисляются минимальные и максимальные координаты по всем объектам из файлов, для которых в окне проекта включен признак видимости.
Отрисовывать линии границ 'бокса' – включение/выключение отрисовки 'бокса'.
Центром окна считается точка, вокруг которой производится поворот трехмерного изображения.
Центр окна изображается в виде шара малинового цвета, через который проходят три стрелки, параллельные осям координат:
Синяя стрелка направлена на север, оранжевая – на восток, светло-зеленая – вверх.
Отрисовывать центр окна – включение/выключение отрисовки центра окна.
Включать/выключать отрисовку центра окна можно при помощи элемента графического меню.
Диаметр шара в центре окна, мм – задается диаметр шара, которым обозначается центр окна.
Изменять диаметр шара можно при помощи кнопок графического меню.
Ниже в диалоге показаны координаты центра окна, которые, при необходимости, можно изменить.
Центр окна – в центр бокса – поместить центр окна в центр текущего 'бокса'.
Перемещение центра относительно наблюдателя
При помощи кнопок "Ближе" и "Дальше" можно перемещать центр окна по линии, проходящей от наблюдателя к текущему центру окна, т.е. перпендикулярно экрану.
Шаг перемещения, м = масштаб * - задается коэффициент, используемый для вычисления перемещения при однократном нажатии на кнопку "Ближе" или "Дальше". По умолчанию равен 0.02, т.е. если текущий масштаб в окне равен 5000 (имеется ввиду 1:5000), то шаг перемещения будет равен 5000*0.02 = 100м.
Перемещать центр окна относительно наблюдателя можно при помощи кнопок графического меню.
Следует обратить внимание, что операция перемещения центра окна имеет разные последствия для окон с ортогональной проекцией и для окон с перспективной проекцией.
В окнах с ортогональной проекцией само изображение в окне не меняется, изменяется только положение центра окна. На первом рисунке показано исходное положение центра окна, на втором – положение центра окна после перемещения дальше от наблюдателя:
В окнах с перспективной проекцией вместе с перемещением центра окна, на такое же расстояние перемещается и точка наблюдения, поэтому наблюдатель оказывается ближе к объекту, что приводит к изменению масштаба изображения:
При "обычном" изменении масштаба в окнах с перспективной проекцией происходит перемещение только точки наблюдения, а центр окна остается на месте.
То есть, в окне с перспективной проекцией имеется два способа, при помощи которых можно изменять масштаб изображения в окне.
Возникает вопрос – что означает масштаб изображения применительно к 3D окнам ?
Для окон с ортогональной проекцией текущему масштабу соответствует масштаб изображения объектов, лежащих в любой плоскости, параллельной плоскости экрана. Это означает, что какая-либо линия, лежащая в любой плоскости, параллельной плоскости экрана, будет отмасштабирована правильно. Поэтому, в первом приближении, для ортогональной проекции можно говорить о соответствии текущему масштабу объектов, которые не слишком сильно отклоняются от ближайшей плоскости, параллельной плоскости экрана (часто бывает, что по одному направлению отклонения небольшие, а по другому – более значительные).
Для окон с перспективной проекцией сказанное выше для ортогональной проекцией будет справедливо только применительно к одной плоскости, параллельной экрану – плоскости, проходящей через точку, называемую центром окна. Объекты, находящиеся к наблюдателю ближе этой плоскости, будут крупнее, а объекты, находящиеся дальше этой плоскости – мельче, чем при ортогональной проекции.
Задать некоторые виды
Сверху – получаем изображение в плане. Хотя само изображение, может выглядеть по-другому, т.к. в 2D окнах имеются некоторые, присущие только им, механизмы формирования изображений. И, наоборот, в 3D окнах имеются свои особенности формирования изображений.
Снизу – изображение в плане, вид снизу.
Сбоку (как разрез) – направление просмотра – как в 2D окне текущего разреза.
Сбоку (наоборот) – направление просмотра – противоположное направлению в 2D окне текущего разреза.