1. цель и задачи изучения дисциплины

advertisement
Министерство образования Российской Федерации
Государственное образовательное учреждение высшего профессионального образования
"Ижевский государственный технический университет"
УТВЕРЖДАЮ
Ректор
_______________ И.В. Абрамов
"____" _______________ 2003 г.
РАБОЧАЯ ПРОГРАММА
По дисциплине "Вычислительная геометрия"
для специальностей
220300 Системы автоматизированного проектирования
220200 Автоматизированные системы обработки информации и управления
Семестр
6
Лекции
Практические (семинарские) работы
Лабораторные работы
Контрольные работы (семестр, кол-во)
Курсовая работа (семестр)
Курсовой проект (семестр)
Самостоятельная работа
Зачеты (семестр)
Экзамены (семестр)
Всего (аудиторных занятий)
Всего
34 ч.
34 ч.
34 ч.
Ижевск 2003
6
68 ч.
6
102 ч.
170 ч.
2
Кафедра "Автоматизированные системы обработки информации и управления".
Автор: ст. преподаватель кафедры АСОИУ Ю.А. Лопаткин.
Рабочая программа составлена на основании государственного образовательного стандарта высшего профессионального образования и утверждена на заседании кафедры. Протокол № ______ от "____" ________________ 200 г.
Заведующий кафедрой
____________________ В.Н. Кучуганов
"____"________ 200 г.
СОГЛАСОВАНО:
Председатель учебно-методической комиссии
по специальности
____________________ Ю.А. Каюров
"____"________ 200 г.
Количество часов рабочей программы соответствует количеству часов рабочего учебного
плана специальностей 220300 Системы автоматизированного проектирования, 220200
Автоматизированные системы обработки информации и управления.
Начальник учебно-инженерного отдела
____________________ А.М. Ефимова
"____"________ 200 г.
3
1.
ЦЕЛЬ И ЗАДАЧИ ИЗУЧЕНИЯ ДИСЦИПЛИНЫ
1.1. Цель преподавания дисциплины.
Предметом курса “Вычислительная геометрия” является:
- анализ и построение эффективных вычислительных алгоритмов для решения геометрических задач;
- представление в ЭВМ, анализ и синтез информации о геометрическом образе.
1.2. Задачи изучения дисциплины.
В результате изучения дисциплины студенты должны получить знания по трем основополагающим курсам:
- классическая аналитическая и дифференциальная геометрия;
- проектирование кривых и поверхностей с использованим сплайнов;
- теория сложности вычислительных алгоритмов.
Студенты должны получить необходимые знания для проектирования программных систем, использующих решение геометрических задач:
- понятия параметрических способов задания кривых, поверхностей, непрерывности, гладкости, регулярности с геометрической и вычислительной точек зрения;
- представление об основных структурах данных, связанных с геометрическими задачами;
- описание элементарных и составных сплайнов, использующихся в проектировании;
- описание оценки вычислительной сложности геометрического алгоритма.
В результате изучения курса студент должен уметь:
- разрабатывать эффективные математические модели для описания геометрических данных;
- разрабатывать эффективные функциональные математические модели и алгоритмы для решения геометрических задач;
- оценивать и сравнивать алгоритмы по критериям вычислительной сложности и
ресурсоемкости;
- разрабатывать прикладные программы геометрического проектирования для нужд
конкретных предметных областей.
1.3 Перечень дисциплин, усвоение которых необходимо для изучения курса.
Для изучения курса "Вычислительная геометрия" необходимо усвоение следующих
дисциплин: "Высшая математика", "Дискретная математика", "Алгоритмизация и программирование".
4
2.
ТЕМАТИЧЕСКИЙ ПЛАН УЧЕБНОЙ ДИСЦИПЛИНЫ
Наименование тем, объем в часах по дисциплине "Вычислительная геометрия"
Наименование тем и разделов
1
1. Введение. Понятие вычислительной геометрии. Начертательная геометрия и вычислительная геометрия.
2. Теория сложности вычислительного алгоритма. Ресурсы, расходуемые алгоритмом. Абстрактная модель вычислений. Зависимость от входных данных. Классы алгоритмов в зависимости от функций роста
сложности. Анализ рекурсивных алгоритмов.
3. Специфика геометрических алгоритмов и
структур данных. Основные геометрические структуры данных и операции.
4. Характерные комбинаторные геометрические алгоритмы, их анализ. Построение
выпуклой оболочки, триангуляция Делоне,
диаграммы Вороного, сети Штайнера.
5. Координатные системы. Векторная алгебра. Преобразования.
6. Проекционные системы. Однородные
координаты. Матрицы преобразований с
использованием однородных координат.
7. Параметрическое описание кривых и
поверхностей.Натуральная параметризация.
8 Дифференцирование вектора. Касательная к кривой.
9. Кривизна и кручение кривой. Трехграник
Френе. Длина кривой.
10. Элементарные поверхности. Векторфункции двух переменных. Кривые на поврхности. Касательная плоскость. 1-я квадратичная форма поверхности.
11. Кривизна кривой на поверхности. 2-я
квадратичная форма поверхности. Угол
между кривыми на поверхности.
12. Главные кривизны. Гауссова и средняя
кривизна поверхности. Угол между кривыми на поверхности.
13. Проектирование с использованием
сплайнов. Элементарные сплайновые кривые Эрмита, Безье, В-сплайны.
14. Условия гладкости составных кривых.
Составные сплайновые кривые Эрмита,
Безье, В-сплайны. Рациональные сплайны.
1
Учебная
нагрузка
студента, час
2
Количество аудиторных
часов при очной форме
обучения
всего лек. пр. лаб.
3
4
5
6
Самостоятельная
работа
7
2
2
2
12
6
2
4
6
14
6
2
4
8
44
24
4
2
4
4
2
2
4
4
2
2
8
6
2
4
2
6
4
2
2
2
5
4
2
2
1
5
4
2
2
1
7
4
2
2
3
7
4
2
2
3
35
20
2
2
9
4
2
2
2
3
4
5
18
16
20
15
5
6
7
5
15. Классификация поверхностей в зависимости от значения гауссовой и средней
кривизн. Проектирование поверхностей.
16. Основные методы повышения эффективности геометрических алгоритмов.
Итого:
3
2
2
0
1
5
4
2
2
1
170
102
34
34
34
68
ПРЕДЛАГАЕМЫЕ ТЕМЫ ЛАБОРАТОРНЫХ РАБОТ
1. Нахождение выпуклой оболочки набора точек методом Грэхема.
2. Нахождение выпуклой оболочки набора точек методом Джарвиса.
3. Нахождение выпуклой оболочки набора точек методом «Разделяй и властвуй».
4. Триангуляция Делонэ набора точек.
5. Нахождение ядра полигона.
6. Разбиение полигона на монотонные части методом сканирования.
7. Построение сплайновой кривой Безье.
8. Построение интерполяционного сплайна Эрмита.
9. Построение сплайновой кривой NURBS.
10. Нахождение всех пересечений набора отрезов на плоскости методом сканирования.
11. Нахождение выпуклой оболочки набора точек методом сканирования.
12. Нахождение контура объединения множества прямоугольников методом сканирования.
13. Построение кривых 2-го порядка конструктивными способами.
14. Отсечение набора отрезков и полигонов по границам области выпуклого полигона.
15. Построение и редактирование плоской укладки планарного графа.
16. Булевские операции над плоскими полигонами.
17.Триангуляция полигона.
18. Нахождение ближайшей точки по отношению к выбранной для набора точек методом сканирования.
19. Построение скругления в месте пересечения двух кривых (примитивы – отрезки,
дуги).
20. Нахождение максимальной пустой окружности внутри выпуклой оболочки набора
точек.
ПРИМЕРЫ ПРЕДЛАГАЕМЫХ ТЕМ КУРСОВЫХ РАБОТ
1. Оптимизация аппроксимации дуговыми примитивами контура, заданного сплайнами.
2. Вычисление векторного остова контура, ограниченного отрезками прямых.
3. Нахождение диаграммы Вороного набора точек методом «Разделяй и властвуй».
4. Оптимизация пути на плоской карте с заданными весами ребер.
5. Оптимальная аппроксимация карандашной кривой сплайном.
6. Построение сплайновой кривой по двум заданным кривым с учетом непрерывности
кривизны (построение гладкого сопряжения двух кривых).
7. Построение эволюты кривой.
8. Определение оптимального пути на 2D-плане с препятствиями.
9. Описание введенного контура с помощью функций Рвачева.
10. Нахождение длины сплайновой кривой.
6
11. Оптимизация укладки прямоугольной плитки внутри области, заданной отрезками и
дугами.
12. Штриховка многосвязного контура.
13. Оптимизация размещения связного графа на плоскости. Узлы графа задаются окружностями или прямоугольниками. Дуги графа – отрезками, параллельными сторонам листа
или дугами.
14. Нахождение площади области, ограниченной контуром (примитивы – отрезки, дуги).
15. Построение результата обрезки сплайновой кривой отрезком.
16. Триангуляция полигона на основе разбиения на монотонные части.
17. Удаление невидимых линий методом Аппеля.
18. Удаление невидимых линий методом Робертса.
19. Удаление невидимых линий методом упорядочения.
20. Удаление невидимых линий методом кластерного разбиения пространства.
21. Вейвлет сжатие контура, заданного отрезками.
ПРИМЕЧАНИЕ. Для выполнения лабораторных и курсовых работ используется любой
Примечание: для выполнения курсовых и лабораторных работ язык программирования по выбору студента.
УЧЕБНО-МЕТОДИЧЕСКИЕ МАТЕРИАЛЫ
Литература
1. А.Д. Александров, Н.Ю. Нецветаев, Геометрия. 1990.
2. Л.А. Беклемишева, А.Ю. Петрович, И.А. Чубаров Сборник задач по аналитической геометрии и линейной алгебре - М. Наука 1987.
3. Э.Г. Позняк, Шикин Е.В . Дифференциальная геометрия:
первое знакомство. М. МГУ. 1990.
4. А.А. Гусак, А.Н. Нахимовская. Сборник задач по дифференциальной геометрии.
Минск. 1963.
5. Д. Роджерс, ДЖ.Адамс. Математические основы машинной графики
М.Машиностроение 1980.
6. Фокс, Пратт. Вычислительная геометрия. М. Наука. 1983.
7. Е.В. Шикин, А.И. Плис. Кривые и поверхности на экране компьютера ДиалогМИФИ 1996.
8. Ахо А.,Хопкрофт Дж.,Ульман Дж. Построение и анализ вычислительных алгоритмов М.Мир.1979.
9. Ф.Препарата, М. Шеймос. Вычислительная геометрия М.Мир.1989.
Периодические издания
1. Журнал “Сomputer graphic” (“IEEE Computer society”).
2. Журнал “Монитор”.
Ресурсы ИНТЕРНЕТ
7
www.codeguru.com
www.graphicon.msu.su
www.graphicon.ru
http://algolist.by.ru/maths/geom/raznoye/index.html
http://fraktali.849pm.com/fracpc.html
http://www.codemanual.com/index_rus.shtml
http://cgw.pennnet.com/
http://www.sciencedirect.com
http://www.geom.umn.edu/software/cglist/
ВОПРОСЫ К ЭКЗАМЕНУ
1. Абстрактная модель вычислений. Зависимость от входных данных. Классы алгоритмов в зависимости от функций роста сложности.
2. Специфика геометрических алгоритмов и структур данных. Основные геометрические структуры данных и операции.
3. Бинарное дерево поиска. Задачи.
4. Алгоритмы принадлежности точки полигону и области планарного графа.
5. Метод сканирования на плоскости. Задачи.
6. Построение выпуклой оболочки набора точек. Алгоритмы.
7. Триангуляция набора точек. Алгоритмы.
8. Реберный список с двойными связями. Задачи.
9. Параметрическое описание кривых и поверхностей.
10. Натуральная параметризация.
11. Касательная к кривой.
12. Кривизна и кручение кривой. Трехграник Френе.
13. Длина кривой.
14. Элементарные поверхности. Вектор-функции двух переменных. Кривые на поврхности.
15. Касательная плоскость. 1-я квадратичная форма поверхности. Приложения.
16. Площадь поверхности.
17. Кривизна кривой на поверхности. 2-я квадратичная форма поверхности. Угол между кривыми на поверхности.
18. Главные кривизны. Гауссова и средняя кривизна поверхности.
19. Классификация поверхностей в зависимости от значения гауссовой и средней кривизн. Проектирование поверхностей.
20. Проектирование с использованием сплайнов. Элементарные сплайновые кривые Эрмита,
Безье, В-сплайны.
21. Интерполяционная сплайновая кривая Эрмита.
22. Элементарный сплайновый патч Безье.
23. Элементарный сплайновый патч рациональной кривой Безье.
24. Элементарный сплайновый патч B-Spline.
25. Элементарный сплайновый патч рациональной кривой B-Spline.
26. Условия гладкости составных кривых.
27. Составные сплайновые кривые Эрмита.
28. Составные сплайновые кривые Безье.
29. Составные сплайновые кривые В-Spline.
30. Основные методы повышения эффективности геометрических алгоритмов.
ЗАДАЧИ К ЭКЗАМЕНУ
8
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Составить уравнения двух плоскостей отстоящих от плоскости 6х  3y + 2z + 5 = 0 на
расстояние равное 3.
Вычислить кривизну кривой r (t) = {3t2, 3t  t3} при t = 1.
Найти уравнения касательной и нормали к кривой r (t) = {aφcos(φ), aφsin(φ)}.
Найти 2-ю квадратичную форму параболоида вращения r (t) = {ucos(v), ucos(v), u2}.
Определить множества эллиптических, гиперболических и параболических точек тора
{(a+bcos(v))cos(u), (a + bcos(v))sin(u), bsin(v)}.
Составить уравнение проекции прямой r (t) = {1 + 2t, 3t, 6  t} на плоскость x + 2y 
3z + 2 = 0.
Найти уравнения касательной и нормальной плоскости к кривой r (t) = {u3 + u2  5, 3u2
+ 1, 2u3  16} в точке u = 2.
Плоскость задана неявным уравнением 2х  3y + z + 1 = 0. Получить ее параметрическое уравнение.
Вычислить кривизну кривой ρ = a (1 + cos(φ)).
Найти расстояние от точки А(3, 1, 1) до плоскости х  y  5z + 2 = 0. Найти координаты точек А' и А" являющихся проекцией А на указанную плоскость и точкой симметричной к А относительно плоскости.
Найти кривизну и кручение кривой r (t) = {3t  t3 , 3t2, 3t + t3}.
При каком значении коэффициента b кручение винтовой линии {acos(t), bcos(t), bt}
будет максимальным?
Найти коэффициенты матрицы вращения вокруг кривой, проходящей через точку А(3,
4, 1) c направляющим вектором (1, 1, 7) на угол φ.
Ввести натуральную параметризацию для эллипса r (t) = {acos(φ), bsin(φ)}.
Download