Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
voprosy_k_MGiG_2013 123456.doc
Скачиваний:
61
Добавлен:
28.03.2015
Размер:
328.19 Кб
Скачать
  1. Плоские геометрические проекции. Косоугольные проекции.

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

Двумя важными видами косоугольных проекций являются проекции:

·     Кавалье (cavalier) – горизонтальная косоугольная изометрия (военная перспектива);

·     Кабине (cabinet) – фронтальная косоугольная диметрия

В проекции Кавалье (рис. 3.11.) направление проецирования составляет с плоскостью угол 45°. В результате проекция отрезка, перпендикулярного проекционной плоскости, имеет ту же длину, что и сам отрезок, т. е. укорачивание отсутствует.

Проекция Кабине (рис. 3.12.) имеет направление проецирования, которое составляет с проекционной плоскостью угол  = arctg(½) (≈26,5°). При этом отрезки, перпендикулярные проекционной плоскости, после проецирования составляют ½ их действительной длины. Проекции Кабине являются более реалистическими, чем проекции Кавалье, так как укорачивание с коэффициентом ½ больше согласуется с нашим визуальным опытом.

  1. Компоненты Delphi для представления графической информации

Image (изображение)

Additional

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

PaintBox (окно для рисования)

System

Используется для создания на форме некоторой области, в которой можно рисовать.

DrawGrid (таблица рисунков)

Additional

Используется для отображения в строках и столбцах нетекстовых данных.

Chart (диаграммы и графики)

Additional

Компонент принадлежит к семейству компонентов TChart, которые используются для создания диаграмм и графиков.

Канва представляет собой область компонента, на которой можно рисовать или отображать готовые изображения. Она содержит свойства и методы, существенно упрощающие графику Delphi Канва имеет свойство Pixels. Это свойство представляет собой двумерный массив, который отвечает за цвета канвы. Brush Pen Style/

  1. Создание реалистических изображений: алгоритм плавающего горизонта.

Главная идея данного метода заключается в сведении трехмерной задачи к двумерной путем пересечения исходной поверхности последовательностью параллельных секущих плоскостей, имеющих постоянные значения координат ху или z. F(x, у, z) = 0.

F(x,y,z)=0,

Поскольку в приложениях в основном интересуются описанием поверхности, этот алгоритм работает в пространстве изображения. Главная идея данного метода заключается в сведении трехмерной задачи к двумерной путем пересечения исходной поверхности последовательностью параллельных секущих плоскостей, имеющих постоянное значение координат x, y, или z (рис.18).

Если полученные кривые спроецировать на плоскость z=0, то можно сформулировать идею алгоритма удаления невидимых участков исходной поверхности. Алгоритм сначала упорядочивает плоскости z=const по возрастанию расстояния до них от точки наблюдения. Затем в каждой плоскости, начиная с ближней к точке наблюдения, строится кривая, лежащая на ней, т.е. для каждого значения координаты x в пространстве изображения определяется соответствующее значение y.

Алгоритм удаления невидимых линий заключается в следующем:

если для текущей плоскости при некотором заданном значении x соответствующее значение y на кривой больше значения y на всех предыдущих кривых при этом значении x, то текущая кривая видима в этой точке; в противном случае она невидима.

Реализация данного алгоритма достаточно проста. Для хранения максимальных значений y при каждом значении x используется массив, длина которого равна числу различимых точек (разрешению) по оси x в пространстве изображения. Значения, хранящиеся в этом массиве, представляют собой текущие значения "горизонта". Поэтому по мере рисования каждой очередной кривой этот горизонт «всплывает». Фактически этот алгоритм работает каждый раз с одной линией.

Алгоритм работает хорошо до тех пор, пока какая-нибудь очередная кривая не окажется ниже самых первых кривых (z6 на рис.18). Подобные кривые, естественно, видимы и представляют собой нижнюю сторону исходной поверхности, однако алгоритм будет считать их невидимыми. Нижняя сторона поверхности делается видимой, если модифицировать этот алгоритм, включив в него нижний горизонт, который опускается вниз по ходу работы алгоритма. Это реализуется при помощи второго массива, длина которого равна числу различимых точек по оси x в пространстве изображения. Этот массив содержит наименьшее значение y для каждого значения x.

Алгоритм становится таким: если на текущей плоскости при некотором заданном значении x соответствующее значение y на кривой больше максимального или меньше минимального по y для всех предыдущих кривых при этом x, то текущая кривая видима; в противном случае она невидима.

Алгоритм плавающего горизонта чаше всего используется для удаления невидимых линий трехмерного представления функций, описывающих поверхность в виде F(x, у, z) = 0.

Идея метода заключается в сведении трехмерной задачи к двумерной путем пересечения исходной поверхности последовательностью параллельных секущих плоскостей, имеющих постоянные значения координаты z.

Алгоритм сначала упорядочивает плоскости z = const по возрастанию расстояния до них от точки наблюдения. Затем для каждой плоскости, начиная с ближайшей к точке наблюдения, строится кривая, лежащая на ней, т.е. для каждого значения координаты х в пространстве изображения определяется соответствующее значение y.

Если на текущей плоскости при некотором заданном значении x соответствующее значение у на кривой больше значения y для всех предыдущих кривых при этом значении x, то текущая кривая видима в этой точке; в противном случае она невидима.