Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Международная деятельность по стандартизации в машинной графике.



Работы по протоколам послужили отправной точкой по развитию стандартизации в машинной графике. В 1974 г. в США был создан комитет по стандартизации машинной графики GSPC в АСМ/SIGGRAPH. На конференции в Сейлаке (Франция) в 1976 г. были сформулированы и обсуждены основные условия и проблемы стандартизации.

 

 

Основная цель стандартизации

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

 

Базовая система должна обладать: независимостью от: вычислительных систем; языков программирования; области применения; графических устройств.

[СЛАЙД]

Core-System

 

Существенным этапом в области стандартизации машинной графики явилась публикация проекта стандарта CORE-SYSTEM (GSPC-77).

 

Главные идеи, положенные в основу системы CORE:

 

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

 

4 2-мерные преобразования в декартовых и однородных координатах.(км)

Двумерные преобразования (км)

 

Описание, конструирование, манипулирование и представление геометрических объектов являются центральными работами в графических системах. Рассмотрим математические методы для описания геометрических преобразований координат в двух, трехмерном случае.

Далее большими буквами X, Y, Z будут обозначаться обычные декартовые координаты, а маленькие буквы x, y, z будут использоваться для обозначения т.н. однородных координат (о них ниже).


Перенос:

Точку на плоскости можно переместить, если к ее координатам прибавить значение переноса.

в плоском случае имеет вид: Xn=X+Tx; Yn=Y+Ty;

или в векторной форме: Pn = P + T;

 

Где: X; Y; - исходные координаты точки,

Tx; Ty; - величина переноса по осям,

Xn; Yn; - преобразованные координаты.

P = [XY]; - вектор-строка исходных координат,

Pn = [Xn Yn]; - вектор-строка преобразованных координат,

T = [Tx Ty]; - вектор-строка сдвига.

 

Объект можно перенести, если применить преобразование ко всем его точкам.

 

Масштабирование:

Растянуть или промасштабировать точку (объект) относительно начала координат, можно умножив ее координаты на коэффициент масштабирования.

Относительно начала координат имеет вид: Xn = X*Sx; Yn = Y*Sy;

или в матричной форме: Pn = P* S;

где: Sx; Sy - коэффициенты масштабирования по осям,

- матрица масштабирования.

Поворот:

относительно начала координат имеет вид:

или в матричной форме: Pn = P* R

где: - угол поворота

- матрица поворота

 

Столбцы и строки матрицы поворота представляют собой взаимно ортогональные единичные векторы. В самом деле, квадраты длин векторов-строк равны единице:

 

а скалярное произведение векторов-строк есть:

 

Так как скалярное произведение векторов:

где: - длина вектора A, - длина вектора B,

а - наименьший положительный угол между ними,

 

то из равенства 0 скалярного произведения двух векторов-строк длины 1 следует, что угол между ними равен 900.

 

Аналогичное можно показать и для векторов-столбцов. Кроме того вектора-столбцы представляют собой такие единичные векторы, которые после выполнения преобразования, заданного этой матрицей, совпадут с осями. В самом деле, произведение первого столбца на матрицу есть:

т.е. это единичный вектор вдоль оси X. Аналогично, произведение второго столбца на матрицу даст вектор [ 0 1]. Это позволяет сформировать матрицу, если известны результаты преобразования.

 

Двумерные преобразования в однородных координатах

 

Как видно из приведенных выше формул двумерные преобразования имеют различный вид. Сдвиг реализуется сложением, а масштабирование и поворот - умножением. Это различие затрудняет формирование суммарного преобразования и устраняется использованием двумерных однородных координат точки, имеющих вид:

[ x y w];

 

где w - произвольный множитель не равный 0.

Двумерные декартовые координаты точки получаются из однородных делением на множитель w:

X =x/w; Y =y/w;

Однородные координаты можно представить как промасштабированные с коэффициентом w значения двумерных координат, расположенные в плоскости с Z=w. В силу произвольности значения w в однородных координатах не существует единственного представления точки, заданной в декартовых координатах.

Преобразования переноса, масштабирования и поворота в однородных координатах относительно центра координат все имеют одинаковую форму произведения вектора исходных координат на матрицу преобразования.

Для переноса:

Для масштабирования:

Для поворота:

5. 3-х мерные преобразования. Суммарное преобразование. (км)

3-х мерные преобразования (км)

 

Аналогично тому, как двумерные преобразования описываются матрицами размером 3х3, трехмерные преобразования могут быть представлены в виде матриц размером 4х4. И тогда трехмерная точка (х, у, z) записывается в однородных координатах как:

 

(W*x, W*y, W*z, W), где W! =0.

Если W! =1, для получения трехмерных - декартовых координат точки (X, Y, Z) первые три однородные координаты делятся на W.

Отсюда, в частности, следует, что две точки Н1 и Н2 в пространстве однородных координат описывают одну и ту же точку трехмерного пространства в том и только в том случае, когда Н1 =cН2 для любой константы с, не равной нулю.

Применяемая здесь трехмерная система координат является правосторонней.

Трехмерный перенос является расширением двумерного:

Масштабирование расширяется аналогичным образом:

Матрица поворота вокруг оси х имеет вид:

Матрица поворота вокруг оси у имеет вид:

Матрица поворота вокруг оси z имеет вид:

 

Все эти матрицы преобразований имеют обратные матрицы.

      • обратная Т, получается подстановкой знака минус перед Dx, Dy и Dz,
      • обратная S — заменой Sx, Sy и Sz на обратные им значения
      • для каждой из трех матриц поворота — выбором отри­цательного угла поворота.

 

Результатом произвольной последовательности поворотов вокруг осей х, у и z является матрица А, имеющая вид:

 

Подматрицу поворота размером 3х3 называют ортогональной, поскольку ее столбцы являются взаимно ортогональными единичными векторами. При повороте, задаваемом матрицей, эти единичные векторы совмещаются с осями х у и z. Иногда возникает необходимость определить матрицу поворота, соответствующую таким направлениям. Матрицы поворота сохраняют длину и углы, а матрицы масштабирования и переноса не сохраняют.

Можно перемножить произвольное число матриц поворота, масштабирования и переноса. Результат всегда будет иметь вид

6 GDI. Контекст устройства.(км)

GDI (км)

Графические функции из состава WIN API объединены в отдельную группу – подсистему GDI ( Graphics Device Interface - интерфейс с графическими устройствами). Для предоставления приложениям графических возможностей Windows имеет набор функций, называемый интерфейсом с графическим устройством - GDI. GDI можно представить себе как графическую машину, которую используют приложения Windows для отображения и манипулирования графикой. Функции GDI предоставляют вашему приложению возможности рисования, которые не зависят от используемого устройства. Например, вы можете использовать одни и те же функции для организации вывода на дисплей EGA, на дисплей VGA и даже на принтер PostScript.

Аппаратная независимость реализуется через использование драйверов устройств, которые переводят функции GDI в команды, воспринимаемые используемым устройством вывода.

 


Поделиться:



Популярное:

  1. I) индивидуальная монополистическая деятельность, которая проявляется как злоупотребление со стороны хозяйствующего субъекта своим доминирующим положением на рынке.
  2. I. Информация есть деятельность
  3. II РАЗДЕЛ ДЕЯТЕЛЬНОСТЬ ШЕСТИЛЕТНЕГО РЕБЕНКА
  4. Адвокатская и нотариальная деятельность как деятельность по обеспечению защиты прав и законных интересов физических и юридических лиц
  5. Аккумулятивная деятельность ледников
  6. Анализ финансово-экономической деятельность организации.
  7. Аналитическая деятельность на предприятии.
  8. Банковская деятельность в РФ
  9. Борьба за проведение аграрной реформы в Риме. Политическая деятельность Тиберия Гракха.
  10. Влияние постановки целей на деятельность руководителя.
  11. Внешнеполитическая деятельность РБ (1991-2015гг.) Приоритеты внешнеполитического курса РБ. Деятельность РБ в ООН. Многовекторность внешней политики Беларуси
  12. Внешнеполитическая деятельность советского руководства


Последнее изменение этой страницы: 2017-03-03; Просмотров: 672; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.023 с.)
Главная | Случайная страница | Обратная связь