Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
И.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
818.57 Кб
Скачать

3. 7. Математическое обеспечение подсистем машинной графики

Методы и алгоритмы машинной графики

(подготовки к визуализации)

К методам машинной графики относят методы преобразования графических

объектов, представления ( развертки) линий в растровой форме, выделения окна,

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

Преобразование графических объектов выполняется с помощью операций

переноса, масштабирования, поворота.

Перенос точки из положения Р в новое положение С можно выполнять по

формулам типа

где Дд^ — приращение по координате х,. Однако удобнее операции преобразова-

ния представлять в единой матричной форме

С=РТ, (3.50)

где Т — преобразующая матрица. При этом точки С и Р в двумерном случае

изображают векторами-строками 1 х 3, в которых кроме значений двух коорди-

нат, называемых при таком представлении однородными, дополнительно

указывают масштабный множитель W. Тогда перенос для случая ID можно

выразить в виде (3.50), где Т есть табл. 3.13, a W- 1.

Для операций масштабирования и поворота матрицы Т представлены в

табл. 3.14 и 3.15 соответственно, где тх, ту — масштабные множители, ф —

угол поворота.

Таблица 3.13 Таблица 3.14 Таблица 3.15

1

0

A*i

0

1

Ах2

0

0

1

тх

0

0

0

ту

0

0

0

1

COS ф

-sin ф

0

sin ф

COS ф

0

0

0

1

Удобство (3.50) объясняется тем, что любую комбинацию элементарных

преобразований можно описать формулой (3.50). Например, выражение для

сдвига с одновременным поворотом имеет вид

С = РТ Т = РТ, сд пов '

где Т = ТсдТшв; Тсд — матрица сдвига; Тпов — матрица поворота.

Представление графических элементов в растровой форме требуется для

отображения этих элементов на битовую карту растровой видеосистемы. Пусть

требуется развернуть отрезок АВ прямой у = ах + Ь, причем 1 > а > 0 (при дру-

гих значениях а рассматриваемый ниже алгоритм остается справедливым пос-

ле определенных модификаций). Введем обозначения: А = (ха, yd), В = (xb, yb);

за величину дискрета (пиксела) примем единицу. В алгоритме развертки номера

строк и столбцов карты, на пересечении которых должны находиться точки

отрезка, определяются следующим образом:

149

3. Математическое обеспечение анализа проектных решений

1) Ах : = хЪ - ха;

Ay:=yb-ya;

х := ха;

у: = уа;

2)d = 2Ay- Ax;

3) если d> О, то {у : = у +1; d := d+ 2(Ау - Ах)};

иначе d:=d+2 Ay;

4)jc: = *+ 1;

5) Переход к пункту 3, пока не достигнута точка в.

Рис. 3.28. Выделение окна Экономичность этого алгоритма обусловливается

отсутствием длинных арифметических операций типа умножения.

Выделение окна требуется при определении той части сцены, которая долж-

на быть выведена на экран дисплея.

Пусть окно ограничено линиями х = *,, х = х2, у =уг,у = У2 (рис. 3.28). По-

очередно для каждого многоугольника проверяется расположение его вершин

и ребер относительно границ окна. Так, для многоугольника ABCD при отсе-

чении по границе х = х2 просматривается множество вершин в порядке обхода

по часовой стрелке. Возможны четыре ситуации для двух последовательных

вершин Р и R:

1) если JCP > х2 и XR > х2, то обе вершины и инцидентное им ребро находятся

вне окна и исключаются из дальнейшего анализа;

2) если хг < х2 и XR < x2, то обе вершины и инцидентное им ребро остаются

для дальнейшего анализа;

3) если jcp < х2 и XR > х2, то вершина Р остается в списке вершин, а вершина

R заменяется новой вершиной с координатами х = х2, у = yf + (yR - уг)(х2 -

-XP)/(XR-xf); в нашем примере такой новой вершиной будет Е;

4) если хр > х2 и XR < х2, то вершина Р заменяется новой вершиной с

координатами х = х2, у =yR + (yf-yR)(x2- х*У(хг~ XR)' а веРшина R остается

в списке вершин; в нашем примере новой вершиной будет К

После окончания просмотра применительно ко всем границам в окне оказы-

ваются оставшиеся в списке вершины.

Применяя эти правила в нашем примере, получаем сначала многоугольник

AEFD, а после отсечения по верхней границе у = у2 — многоугольник AGFD

(см. рис. 3.28). Однако правильный результат несколько иной, а именно много-

угольник AGHFD. Этот правильный результат получается при двойном обходе

вершин сначала по часовой стрелке, затем против с включением в список новых

вершин, появляющихся при каждом обходе.

Применяют ряд алгоритмов удаления скрытых линий. Один из наиболее

просто реализуемых алгоритмов — алгоритм z-буфера, где z-буфер — область

памяти, число ячеек в которой равно числу пикселов в окне вывода. Предпо-

лагается, что ось z направлена по нормали к видовой поверхности и наблюдатель

расположен в точке z = 0.

150

Упражнения и вопросы для самоконтроля

В начале исполнения алгоритма все пикселы соот-

ветствуют максимальному значению z, т. е. максималь-

ному удалению от наблюдателя, что приводит к поме-

щению во все ячейки z-буфера значений пикселов фона

картины (чертежа). Далее поочередно для всех точек

граней рассчитываются значения координаты z. Среди

точек, относящихся к одному и тому же пикселу (од-

ной и той же ячейке z-буфера S), выбирается точка с

наименьшим значением z и ее код (т. е. цвет и яркость)

помещается в S. В итоге z-буфер будет содержать пик-

селы наиболее близких к наблюдателю граней.

Алгоритмы построения проекций преобразуют

трехмерные изображения в двумерные. В случае

построения центральной проекции каждая точка трех-

мерного изображения отображается на картин-

ную поверхность путем пересчета координат х и у

А'

1

N

1 1 J

/

Л^ ''

fi \ 9 A

i

i

I

t

i

i

i

i

i

i

'o

Рис. 3.29. Построение

центральной

проекции точки А

(рис. 3.29). Так, координату х'а точки А' вычисляют по очевидной формуле

*; = x.dlz,

аналогично рассчитывается координата у'а точки А".

В параллельных проекциях d —> «э и координаты х ку точек А" и А совпадают.

Поэтому построение параллельных проекций сводится к выделению окна, при

необходимости к повороту изображения и возможно к удалению скрытых линий.

Закраска матовых поверхностей основана на законе Ламберта, согласно

которому яркость отраженного от поверхности света пропорциональна cos ос,

где а — угол между нормалью к поверхности и направлением луча падающего

света. В алгоритме Гуро яркость внутренних точек определяется линейной ин-

терполяцией яркости в вершинах многоугольника. При этом сначала проводит-

ся интерполяция в точках ребер, а затем по строкам горизонтальной разверт-

ки. Более реалистичными получаются изображения в алгоритме Фонга,

основанном на линейной интерполяции векторов нормалей к поверхности.

Упражнения и вопросы для самоконтроля

1. Дайте определение области адекватности математической модели.

2. Представьте схему на рис. 3.30 в виде графа, постройте покрывающее дерево,

запишите матрицу контуров и сечений М. i

3. Запишите компонентные и топо-

логические уравнения для эквивалент-

ной схемы на рис. 3.30.

4. Составьте эквивалентную схему

для гидромеханической системы (ци-

линдра с поршнем), представленную на

рис. 3.31, где F — сила, действующая на

поршень.

R

, * 1 1 — Ь 1 -J Т — •*— /"* ? Т '

if2

к

г 1'.

Рис. 3.30. Эквивалентная схема

151

3 Математическое обеспечение анализа проектных решений

Рис. 3.31. Гидромеханическая

система

5. Напишите выражения для проводимостей

ветвей схемы (см. рис. 3.30) в случае использова-

ния неявного метода Эйлера для интегрирования

системы дифференциальных уравнений.

6. Сформулируйте математическую модель

по модифицированному методу узловых потен-

циалов для схемы на рис. 3.30.

7. Что понимают под постоянной времени физической системы?

8. Выполните несколько шагов интегрирования для дифференциального уравнения

dx/dt = 10 - 2х явным и неявным методами Эйлера с начальным условием ха = 0 и с

шагом h - 2, нарушающим условие (3.27). Сделайте заключение об устойчивости или

неустойчивости вычислений.

9. Каким образом обеспечивается сходимость итераций при решении СНАУ?

10. На чем основаны алгоритмы автоматического выбора шага интегрирования при

решении систем дифференциальных уравнений?

11. Что такое «вторичные ненулевые элементы» в методах разреженных матриц?

12. В чем заключается различие способов интер-

претации и компиляции при реализации метода раз-

реженных матриц?

13. Что понимают под областью работоспособ-

ности?

14. Найдите координатные функции для одномер-

ной задачи при линейной аппроксимации функции

f(x) (рис. 3.32, на котором показаны конечные эле-

менты длиной/,).

15. Найдите передаточную функцию для схемы

на рис. 3.33.

16. Постройте таблицы логических функций И и

ИЛИ для пятизначного алфавита.

Рис. 3.32. Функция для конечно-

элементной аппроксимации

17. Поясните сущность событийного метода моделирования.

18. Приведите вывод уравнений Колмогорова для систем массового обслуживания.

19. Постройте граф состояний для системы массового обслуживания, состоящей из

двух идентичных ОА с интенсивностью обслуживания ц каждый и включенных парал-

лельно при общем входном потоке с интенсивностью поступления заявок "k. Если сво-

бодны оба ОА, пришедшая заявка занимает первый ОА. Если очередь равна 2, то прихо-

дящие заявки покидают систему без обслуживания.

20. Опишите на языке GPSS модель системы, состоящей из трех станков и обрабаты-

вающей детали типов Аи В. Заданы интенсивности поступления деталей этих типов и

интенсивности обработки их на каждом станке. Маршруты деталей типа А включают

станки 1 и 2, деталей типа В — станки 1 и 3.

21. Как и в предыдущем примере на входе системы имеются потоки деталей типов А

и В, но система представляет собой сборочную линию, на выходе которой каждое изде-

лие состоит из п деталей типа А и т деталей типа В. Требуется разработать модель систе-

мы и представить ее на языке GPSS.

22. Запишите на языке GPSS модель системы, представ-

ленной на рис. 3.24 в виде сети Петри.

23. Что такое «параметрическая модель» и «ассоциатив-

ное моделирование»?

24. Представьте матрицу преобразования, включающего

сжатие плоского изображения в к раз и его перемещение

вдоль оси х на величину D.

Рис. 3.33. Дифференци- 25. В чем заключается различие геометрических моделей

рующая цепь Безье и В-сплайнов?

Вход

О—

Выход

О

152

4. МАТЕМАТИЧЕСКОЕ ОБЕСПЕЧЕНИЕ СИНТЕЗА

ПРОЕКТНЫХ РЕШЕНИЙ

4.1. Постановка задач параметрического синтеза

Место процедур синтеза в проектировании

Сущность проектирования заключается в принятии проектных решений, обес-

печивающих выполнение будущим объектом предъявляемых к нему требова-

ний. Синтез проектных решений — основа проектирования; от успешного вы-

полнения процедуры синтеза в определяющей мере зависят потребительские

свойства будущей продукции. Конечно, анализ — необходимая составная часть

проектирования, служащая для верификации принимаемых проектных реше-

ний. Именно анализ позволяет получить необходимую информацию для целе-

направленного выполнения процедур синтеза в итерационном процессе проек-

тирования. Поэтому синтез и анализ неразрывно связаны.

Как отмечено в гл. 1, синтез подразделяют на параметрический и структур-

ный. Проектирование начинается со структурного синтеза, при котором ге-

нерируется принципиальное решение. Таким решением может быть облик бу-

дущего летательного аппарата, или физический принцип действия датчика, или

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

цессора. Но эти конструкции и схемы выбирают в параметрическом виде, т. е.

без указания числовых значений параметров элементов. Поэтому, прежде чем

приступить к верификации проектного решения, нужно задать или рассчитать

значения этих параметров, т. е. выполнить параметрический синтез. Приме-

рами результатов параметрического синтеза могут служить геометрические

размеры деталей в механическом узле или в оптическом приборе, параметры

электрорадиоэлементов в электронной схеме, параметры режимов резания в

технологической операции и т. п.

В случае если по результатам анализа проектное решение признается нео-

кончательным, то начинается процесс последовательных приближений к при-

153