Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Лабораторная работа Отсечение невидимых частей плоских фигур Напомним материал лекций

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 25.11.2024

Лабораторная работа «Отсечение невидимых частей плоских фигур»

Напомним материал лекций.

«ОТСЕЧЕНИЕ ЛИНИЙ

Предположим, что мировые и экранные координаты одинаковые, то есть совпадают

Y                                                             R

Ymax                     D                      P’              Q’                    C

                                            

                                         P PPP  

Ymin                         

                                            A                                                                 B

    O                     X min                                                                        Xmax              X

На рисунке показан прямоугольник ABCD, который является окном. В видимые отрезки и линии должны лежать внутри окна. То есть при вычерчивании отрезка прямой линии части, лежащие вне окна, должны быть отсечены. Процесс отсечения должен выполняться автоматически.

  На рисунке прямоугольник ABCD вычерчивается раньше, чем треугольник PQR, так что вместо этого треугольника надо вычертить ломаную PPQQ.

  Поскольку заданы только три точки  P, Q и R, координатная пара (xp, yp) должна быть вычислена из значений координат точек (xp, yp)  и (xR,yR).Из рисунка видно, что наклон отрезка PR можно вычислить двумя способами,  что приводит к следующему уравнению

                           

Совмещая это с соотношением

                             yp = ymax

получим

xp=  xp +

Отсюда легко вычисляются координаты точки P’, если известно, что концевая точка Р находится внутри окна, а другая концевая точка R (xR, yR) удовлетворяет неравенствам

    xmin < xR < xmax

    yR > xmax

Однако необходимо рассмотреть значительно больше ситуаций. Представим их в таблице

1001

0001

0101

1000

0000

0100

1010

0010

0110

В этой таблице с любой точкой P (x, y) ассоциируется четырехбитовый код

b3b2b1b0, где bi т быть либо 0, либо 1.

Запишем значения битов используя выражения языка Pasxal

b3 = (x < xmin)

b2 = (x > xmax)

b1 = (y < ymin)

b0 = (y > ymax

Для  удобства перепишем последнюю таблицу с упрощенной нумерацией частей плоскости

1

2

3

4

0

5

6

7

8

Теперь составим алгоритм.

Первый шаг алгоритма, составим уравнения прямых образующих окно.

Второй шаг алгоритма определим части плоскости,  в которых находятся концы отрезка и зададим эти варианты.

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

Очевидно, что отрезок, определяемой парой 00 целиком лежит в окне, то есть весь отрезок видимый

Отрезки, определяемые парами  11, 12, 13, 14, 16, 22, 33, 35, 38, 44, 46, 55, 58, 66, 67,  68, 77, 78 и 88 заведомо лежат вне окна и не видны.

Пары 02, 04, 05 и 07 могут иметь пересечение только с одной прямой и видимую часть отрезка определить заведомо легко от точки лежащей в области 0 до пересечения прямой задающий отрезок, со стороной окна. (На самом деле, прямая определяемая отрезком, будет иметь два пересечения со сторонами окна, но одна из точек пересечения принадлежит отрезку, а вторая  лежит вне отрезка).

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

По аналогии надо рассмотреть случаи 15, 17, 18, 24, 25, 26. 28, 34, 36, 47 и 48.

Для каждого из этих случаев надо составить свою процедуру, предварительно составив  таблицу по образцу

Случай

Прямые которые может  пересечь отрезок

(Верхняя горизонтальная Ув, Нижняя горизонтальная Ун, Левая вертикальная Хл, Правая вертикальная Хп)

18

Хл, Ув, Хп, Ун

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

Случай

Ситуация

Отрезок пересекает окно

по линиям

Координаты углов окна

Координаты концов отрезка

Координаты точек пересечения

18

Хл и Ун

Ув и Хп

Для зачета работы представить показать работоспособность программы, текст программы, представить набор тестов, ответить на вопросы по тексту программы и по набору тестов.  




1. 1857 село Сорали Вятской губернии советский психиатр невропатолог психолог физиолог и морфолог
2. Пояснительная записка к программе Данная программа составлена с учетом самостоятельной работы студента
3. лекція; 161213 семінар 2 10001120 Кримінальне право Патраш І
4. тема в которой протекает круговорот веществ в ней же выстраиваются пищевые цепочки
5. Анализ ОАО Ростовоблгаз
6. Влияние стиля педагогической деятельности на проявление дезадаптации школьников
7. тема цен включает в себя отдельные блоки цен взаимосвязанные и взаимодействующие
8. Розрахунок природного освітлення та загального рівномірного люмінесцентними лампами для офісно
9. Ведущие колеса к которым подводится крутящий момент от трансмиссии осуществляют сцепление с грунтом и пе.html
10. Доклад- Исследование электрической цепи переменного тока при последовательном соединении
11. Доклад- Моделирование с помощью нейролингвистического программирования
12. 416. Последствия исторических сдвигов связанных с изменением пространства Сдвиг в местоположении демок
13. во полных лет___ Семейное положение_____________ Состав семьи______________________________ Количество и возраст детей _________
14. Модуль 1 V1 Т~л~аны~ ~зін~зі тану~а ба~ыттал~ан педагогикалы~ технология-
15.  Чрезвычайные ситуации
16. Блок доступа к моноканалу ЛВ
17. преподавательский состав в области бухгалтерского учёта экономического анализа и аудита различных учебных
18. Пути повышения эффективности сбытовой деятельност
19. Профессиональное обучение
20. Тема- Анализ эффективности использования трудовых ресурсов Задание 1