- •Билет 1
- •2.Геометрические преобразования в трехмерной графике. Матрицы преобразования.
- •Трехмерные аффинные преобразования
- •3. Составить электрическую схему автоматизированного рабочего места инженера на базе пэвм
- •Билет 2
- •Билет 3
- •2. Понятие телеобработки. Терминальная и системная телеобработка
- •1. 1 Основные положения телеобработки данных
- •1. 2 Системная телеобработка данных
- •1. 3 Сетевая телеобработка данных
- •Билет 4
- •2.2. Структура и состав экспертной системы
- •Структура базы знаний
- •Механизм логического вывода.
- •Модуль извлечения знаний.
- •Система объяснения
- •Билет 5
- •1. Целочисленные задачи и методы их решения.
- •2. Открытые вычислительные сетевые структуры. Эталонная модель
- •3. Записать алгоритм решения системы линейных уравнений методом итераций
- •2. Открытые вычислительные сетевые структуры. Эталонная модель
- •Эталонная модель osi
- •Уровень 1, физический
- •Уровень 2, канальный
- •Уровень 3, сетевой
- •Протоколы ieee 802
- •3. Записать алгоритм решения системы линейных уравнений методом итераций
- •Билет 6
- •2. Окна в компьютерной графике. Алгоритмы преобразования координат при выделении, отсечении элементов изображения.
- •3. Как определить информацию о памяти (размер озу ...)
- •Билет 7
- •1. Понятие структурной организации эвм
- •2. Проекции в трехмерной графике. Их математическое описание. Камера наблюдения.
- •Билет 8
- •Основные подходы к разработке по. Методы программирования и структура по.
- •Билет 9
- •2. Принципы построения и функционирования эвм. Принцип программного управления.
- •3. Алгоритм определения скорости передачи с нгмд на нжмд
- •Билет 10
- •1. Организация диалога в сапр
- •2. Видеоконтроллеры, их стандарты для пэвм типа ibm pc.
- •3. Текстуры в машинной графике.
- •3. Текстуры в машинной графике.
- •2. Афинное
- •Билет 11
- •3. Реалистичная графика. Обратная трассировка луча.
- •Билет 12
- •2. Цвет в машинной графике. Аппроксимация полутонами.
- •Алгоритм упорядоченного возбуждения
- •3. Представить алгоритм определения тактовой частоты цп
- •Билет 13
- •1. Структурное программирование при разработке программы.
- •2. Понятие критерия оптимального проектирования и его связь с варьируемыми переменными через уравнения математической модели. Постановка задачи оптимального проектирования.
- •3. Представить алгоритм определения быстродействия нгмд в режиме записи данных.
- •2. Понятие критерия оптимального проектирования и его связь с варьируемыми переменными через уравнения математической модели. Постановка задачи оптимального проектирования.
- •3. Представить алгоритм определения быстродействия нгмд в режиме записи данных.
- •Билет 14
- •3. Таблицы истинности, совершенные нормальные формы представления булевых функций
- •Бинарные функции
- •2. Задачи безусловной и условной оптимизации
- •2. Классификация центральных процессоров Intel и соответствующих локальных и системных шин пэвм типа ibm pc
- •3. Реалистичная графика. Обратная трассировка луча.
- •Билет 16
- •Построение с использованием отношений
- •Построение с использованием преобразований
- •3.Составить алгоритм поиска экстремума функции двух переменных
- •Билет 17
- •1.Методы представления знаний в экспертных системах
- •2.4.2 Искусственный нейрон
- •2.Устройства автоматизированного считывания графической информации (сканеры). Конструкция и основные характеристики.
- •3. Составьте программу для определения скорости передачи информации по сети одной эвм к другой.
- •Билет 18
- •1. Системно-сетевая телеобработка
- •2. Тестирование программ.
- •Билет 19
- •3. Графические форматы. Bmp, gif и jpeg.
- •1. Понятие алгоритма. Свойства. Способы записи.
- •2. Построение реалистичных изображений. Алгоритм построения теней в машинной графике.
- •3. Представить алгоритм определения быстродействия нгмд в режиме чтения данных.
- •Билет №21
- •3. Приоритетные методы удаления скрытых поверхностей. Bsp – деревья.
- •Билет 22
- •2.Методы проверки работоспособности объектов на этапе проектирования: "наихудшего случая" и имитационного моделирования
- •1. Метод наихудшего случая
- •2. Метод имитационного моделирования
- •Билет 23
- •1. Функциональные узлы последовательностного типа: регистры, триггеры, счетчики.
- •2. Назначение, классификация математических моделей и методы их построения. Проверка адекватности математических моделей
- •3. Алгоритмы сжатия графических данных.
- •Асинхронный rs – триггер.
- •Синхронный rs–триггер.
- •Синхронный д-триггер
- •Счетный т-триггер.
- •Двухступенчатые триггеры.
- •Счетчики.
- •Классификация счетчиков.
- •Регистры
- •2. Назначение, классификация математических моделей и методы их построения. Проверка адекватности математических моделей.
- •Билет 24
- •1. Математические модели процессов теплопереноса.
- •1 Вариант
- •2 Вариант-
- •2.Интерполяционные кривые в машинной графике.
- •Билет 25
- •1. Трансляторы. Виды. Состав.
- •2. Технические средства диалога машинной графики (световое перо, мышь, шар, джойстик). Конструкция основные характеристики
- •3. Записать алгоритм решения нелинейного уравнения методом Ньютона.
- •Билет 26
- •1. Автоматизация методов управления, вариантного, адаптивного и нового планирования в астпп.
- •2. Модели гидродинамики
- •3. Записать алгоритм поиска экстремума функции Розенброка овражным методом.
- •Автоматизация метода вариантного планирования
- •Автоматизация метода адаптивного планирования тпп
- •Автоматизация метода нового планирования тпп
- •Оптимизация проектирования сборочных процессов
- •1.Модель гидродинамики идеальной смешение:
- •3. Гидродинамические диффузионные модели.
- •4.Гидродинамическая модель ячеечного типа.
- •3. Записать алгоритм поиска экстремума функции Розенброка овражным методом.
- •Билет 27
- •Общая интерпретация реляционных операций
- •Билет 28
- •1.Понятие языков программирования и их классификация. Жизненный цикл программы.
- •2.Реляционная модель данных. Сравнение с иерархической и сетевой моделями.
- •3.Написать алгоритм вычисления определенного интеграла методом трапеций.
- •2. Реляционная модель данных. Сравнение с иерархической и сетевой моделями.
- •3.Написать алгоритм вычисления определенного интеграла методом трапеций.
- •Билет 29
- •2. Декомпозиция отношений. Первая, вторая и третья нормальные формы.
- •3. Записать алгоритм поиска экстремума функции
- •Билет 30
- •2. Декомпозиция отношений. Первая, вторая и третья нормальные формы.
- •3. Написать алгоритм вычисления определенного интеграла методом трапеций.
- •Билет 31
- •Выбор компонентов
3. Текстуры в машинной графике.
Точное
Задача текстурирования формулируется таким образом: есть грань - согласно предположениям, треугольная - с наложенной на нее текстурой. То есть каждая точка грани окрашена цветом соответствующей ей точки в текстуре. Текстура накладывается линейным образом. Есть точка экрана с координатами на экране (sx,sy), принадлежащая проекции грани. Требуется найти ее цвет, то есть цвет соответствующей этой точке экрана точки текстуры. А для этого надо найти координаты текстуры для этой точки - точнее, для той точки, проекцией которой на экран является наша (sx,sy).
Пусть вершины грани есть точки A(Ax,Ay,Az), B(Bx,By,Bz) и C(Cx,Cy,Cz), а соответствующие им точки текстуры - (Au,Av), (Bu,Bv) и (Cu,Cv). Найдем координаты текстуры для точки, проекцией которой является (sx,sy).
Для точек (x,y,z), проекцией которых является (sx,sy) имеем:
sx = xSize/2+x*dist/(z+dist),
sy = ySize/2-y*dist/(z+dist).
Для упрощения формул будем использовать обозначения
i = sx-XSize/2,
j = YSize/2-sy,
Z = z+dist.
Тогда эти формулы примут вид
i = x*dist/Z,
j = y*dist/Z,
или, что равносильно:
i*Z = x*dist,
j*Z = y*dist.
Рассмотрим точку D, принадлежащую грани. Для нее D = A+a*(B-A)+b*(C-A), так как она лежит в грани. D однозначно задается парой (a,b). Для нее координаты текстуры (из того, что текстура накладывается линейно) будут такие:
Du = Au+a*(Bu-Au)+b*(Cu-Au),
Dv = Av+a*(Bv-Av)+b*(Cv-Av).
Пусть проекция D на экран как раз и имеет координаты (sx,sy), тогда для нее выполнены написанные выше соотношения:
i*DZ = Dx*dist,
j*DZ = Dy*dist.
Подставим сюда координаты D, выраженные через координаты A, B и неизвестные коэффициенты a, b:
i*(Az+a*(Bz-Az)+b*(Cz-Az)+dist) = dist*(Ax+a*(Bx-Ax)+b*(Cx-Ax)),
j*(Az+a*(Bz-Az)+b*(Cz-Az)+dist) = dist*(Ay+a*(By-Ay)+b*(Cy-Ay)),
т.к. мы договорились, что AZ = Az+dist, и, кстати, поэтому BZ-AZ = Bz-Az, это можно чуть укоротить:
i*(AZ+a*(BZ-AZ)+b*(CZ-AZ)) = dist*(Ax+a*(Bx-Ax)+b*(Cx-Ax)),
j*(AZ+a*(BZ-AZ)+b*(CZ-AZ)) = dist*(Ay+a*(By-Ay)+b*(Cy-Ay)).
Выделим a и b:
a*(i*(BZ-AZ)-dist*(Bx-Ax))+b*(i*(CZ-AZ)-dist*(Cx-Ax)) = dist*Ax-i*AZ,
a*(j*(BZ-AZ)-dist*(By-Ay))+b*(j*(CZ-AZ)-dist*(Cy-Ay)) = dist*Ay-j*AZ.
Получили систему двух линейных уравнений, из которой можно найти a и b, а по ним немедленно вычисляются u и v. Введем вектор M = BA (Mx = Bx-Ax и т.д.) и вектор N = CA, обозначим d = dist (все это для краткости записи). Тогда эти два уравнения перепишутся в виде:
a*(i*Mz-d*Mx)+b*(i*Nz-d*Nx) = d*Ax-i*AZ,
a*(j*Mz-d*My)+b*(j*Nz-d*Ny) = d*Ay-j*AZ,
и решая систему (например, по формулам Крамера) получаем:
(dAx-iAZ)(jNz-dNy)-(dAy-jAZ)(iNz-dNx)
a = ------------------------------------- =
(iMz-dMx)(jNz-dNy)-(iNz-dNx)(jMz-dMy)
djAxNz-ddAxNy-ijAZNz+idAZNy-diAyNz+ddAyNx+ijNzAZ-djAZNx
= ------------------------------------------------------- =
ijMzNz-idMzNy-djMxNz+ddMxNy-ijMzNz+idNzMy+djNxMz-ddNxMy
dj(AxNz-AZNx)+dd(AyNx-AxNy)+id(AZNy-AyNz)
= ----------------------------------------- =
id(MyNz-MzNy)+dj(NxMz-MxNz)+dd(MxNy-NxMy)
i(AZNy-AyNz)+j(AxNz-AZNx)+d(AyNx-AxNy)
= --------------------------------------
i(MyNz-MzNy)+j(NxMz-MxNz)+d(MxNy-NxMy)
аналогично получаем
i(AZMy-AyMz)+j(AxMz-AZMx)+d(AyMx-AxMy)
b = --------------------------------------
i(MyNz-MzNy)+j(NxMz-MxNz)+d(MxNy-NxMy)
Знаки умножения здесь везде опущены, иначе читать это все совсем невозможно.
Осталось немного, подставить Mx = Bx-Ax и так далее, а потом подставить эти a и b в формулы для Du и Dv. В процессе подстановок что-то сократится, что-то упростится, но формулы для Du и Dv все равно получатся длиной в несколько строк.
Но из этих формул видно кое-что интересное. А именно, то, что
u = (C1*sx+C2*sy+C3) / (C4*sx+C5*sy+C6),
v = (C7*sx+C8*sy+C9) / (C4*sx+C5*sy+C6),
причем C1, ..., C9 - просто какие-то коэффициенты, зависящие от грани. То есть, можно посчитать эти коэффициенты один раз на грань, а потом считать u, v по написанным пару строк выше формулам. Но все равно получается как минимум одно деление на точку. Это слишком медленно. Поэтому все методы текстурирования на самом деле используют приближенные вычисления, хотя и именно по этим формулам.
Стоит отметить тот факт, что на самом деле здесь грань не обязательно должна быть треугольной - можно взять любые три вершины многоугольной грани. То же самое справедливо и для остальных описанных методов текстурирования.