
- •1.Графическая концепция
- •2. Свойства примитивов.
- •3. Приложение dampwave.Cpp
- •4. Интерфейс графических устройств (gdi)
- •Общий контекст отображения
- •Контекст отображения для класса окна
- •Личный контекст отображения
- •Родительский контекст отображения
- •Контекст отображения для окна
- •Контекст физического устройства
- •Контекст для устройства display
- •Информационный контекст
- •Контекст для памяти
- •Контекст для метафайла
- •Функция GetDcEx
- •5.Логарифмический график
- •6.Приложение Log.Cpp
108. Графические концепции и графические примитивы. Затухающий синусоидальный сигнал. Приложение DAMPWAVE.CPP. Интерфейс графических устройств (GDI). Ряд Фурье. Использование идентификатора контекста устройства (hdc).
1.Графическая концепция
Одним из требований к хорошему графическому интерфейсу программной системы является концепция «делай то, что я имею в виду» или DWIM (англ. Do What I Mean). DWIM требует, чтобы система работала предсказуемо, чтобы пользователь заранее интуитивно понимал, какое действие выполнит программа после получения его команды.
Достоинства:
Графический интерфейс является «дружелюбным» для пользователей, которые начали знакомство с компьютером с графического интерфейса.
В программах обработки графики он, зачастую, является единственно возможным
Недостатки:
Большее потребление памяти в сравнении с текстовым интерфейсом
Сложнее организовать удаленную работу
Невозможность автоматизации, если она не была заложена автором программы
Графический интерфейс не является «дружелюбным» для пользователей, которые начали знакомство с компьютером с интерфейса командной строки.
Графические примитивы
Графические примитивы это заранее определенные элементы, которые можно поместить в чертеж при помощи одной команды. Каждый графический примитив формируется на основании геометрического описания объекта.
Примитивы можно классифицировать:
односложные и составные;
плоские и объемные (3d).
Имя примитивы |
Команда |
Точка |
_Point |
Линия (Отрезок) |
_Line |
Луч |
_Ray |
Линия конструкции (Прямая) |
_Xline |
Фигура |
_Solid |
Полоса |
Trace |
Дуга |
_Arc |
Круг |
_Cirle |
Полилиния |
_Pline |
Прямоугольник |
_Rectang |
Полигон (Многоугольник) |
_Polygon |
Овал(Кольцо) |
_Donut |
Эллипс |
_Ellips |
Эскиз |
Sketch |
Сплайн |
_Spline |
Мультилиния |
_Mline |
3DПолилиния |
3DPoly |
Ящик |
Box |
Клин |
Wedge |
Конус (Дубль) |
Cone |
Цилиндр |
Cylinder |
Шар |
Spchere |
Тор |
Toruc |
Большинство команд обрисовки базовых примитивов собраны в подменю Рисовать. Каждый примитив формируется своей командой, чаще всего совпадают по имени с примитивом. Для некоторых примитив пользователю предлагается несколько способов построения одного и того же примитива по различным исходным данным, например окружность можно построить по центру и радиусу, по центру и диаметру, по трем точкам на плоскости и т.д. Каждый примитив обладает рядом свойств (например, принадлежность слою, цвет, видимость, тип линии и т.д.).
Некоторые команды требуют ввода дополнительных опций в командную строку.