tp04

advertisement
Преодоление сложностей (1)
Экскурс в реальные задачи.
Пересечение отрезков.
Исходные данные
x1, y1
x2, y2
x3, y3
x4, y4
Два отрезка заданы координатами
вершин
Тема 4 - экскурс Сложность в
простом
2
Необходимо найти,
Пересекаются ли отрезки?
По определению отрезки пересекаются,
если у них есть хотя бы одна общая
точка
Тема 4 - экскурс Сложность в
простом
3
Модель
необходимые тесты
реализация
проблемы
Тема 4 - экскурс Сложность в
простом
4
Пиксельная графическая
модель
привязана к устройству вывода
дискретна
ограничена в применении, но в
области своей применимости
решения всегда существуют
Тема 4 - экскурс Сложность в
простом
5
Габаритная модель
Не всегда хорошо работает
Но быстро можно получить отсечение
неверного решения
Проста в реализации
Ограниченность в применении
Тема 4 - экскурс Сложность в
простом
6
Алгебраическая модель
требует решения системы уравнений
проста в реализации и понятна
не применима для вырожденных
случаев (наличие вертикального
отрезка или отрезка нулевой длины)
больший диапазон применимости
Тема 4 - экскурс Сложность в
простом
7
Ориентационная модель
Понятие ориентированной площади
Тест расположения точки
относительно прямой
условие пересечения
простота реализации
область применимости еще шире
вырожденные случаи
Тема 4 - экскурс Сложность в
простом
8
Обработка вырожденных
случаев
габаритный тест проходит!
- проверить горизонтальность
- проверить вертикальность
Тема 4 - экскурс Сложность в
простом
9
Тестирование программы
Исчерпывающий набор тестов
Метод черного ящика
Метод белого ящика
Тема 4 - экскурс Сложность в
простом
10
Интерфейс модуля
унификация
понятность
простота использования
Тема 4 - экскурс Сложность в
простом
11
Соответствие спецификации
требования «заказчика»
система формального тестирования
формат тестового набора
язык реализации
Тема 4 - экскурс Сложность в
простом
12
Преодоление сложностей (2)
Точка внутри многоугольника
Исходные данные
N – количество вершин
многоугольника
x1, y1, x2, y2, x3, y3, … xN, yN –
координаты вершин многоугольника
x0 y0 – координаты тестовой точки
Многоугольник не имеет
пересекающихся сторон, не
обязательно является выпуклым
Тема 4 - экскурс Сложность в
простом
14
Габаритная модель
Ограничивает область поиска ответа
Не дает во многих случаях верного
решения
Проста и понятна
Легко реализуется
Область применения ограничена
Тема 4 - экскурс Сложность в
простом
15
Алгебраическая модель
Сложна в реализации
Имеет вырожденные случаи
Требует значительных
вычислительных ресурсов
Имеет ограничения в применении
Тема 4 - экскурс Сложность в
простом
16
Лучевая модель
Проста и понятна
Есть вырожденные случаи
Есть возможности обхода
вырожденных случаев
Реализация требует дополнительных
тестов (на пересечение)
Обход вырожденных случаев требует
дополнительного анализа
Тема 4 - экскурс Сложность в
простом
17
Ориентационная модель
Ориентированная площадь
многоугольника
Проста и понятна
Легко реализуется
Нет вырожденных случаев
Тема 4 - экскурс Сложность в
простом
18
Тестирование
Метод черного ящика
Метод белого ящика
Охота за вырожденными случаями
Тема 4 - экскурс Сложность в
простом
19
Выводы
Простые задачи имеют тенденцию
становиться сложными
Сложность в реализации зависит от
выбранной модели
Вырожденные случаи особенно досаждают
Любую задачу удобно привести к уже
решенной
Сложность преодолима
Тема 4 - экскурс Сложность в
простом
20
Где еще нас подстерегают
сложности
Трехмерная графика
Разбиение области на треугольники
Решение обратных задач
Нахождение оптимального решения
и еще много где…
Тема 4 - экскурс Сложность в
простом
21
Где найти дополнительный
материал
Е.А.Никулин Компьютерная
геометрия и алгоритмы машинной
графики, БХВ-Петербург, СПб 2003
ftp://bkv.vvsu.ru/pub/TP/known-math/
Тема 4 - экскурс Сложность в
простом
22
Download