Будь умным!


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

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

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

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

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

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

от 25%

Подписываем

договор

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

Скидка 25% при заказе до 20.5.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.  Брать на себя лидерство в отношениях мужчинаженщина 2
2. Организация планирования деятельности предприятия и техническая подготовка производств
3. В МИРЕ СКАЗОЧНЫХ ЧУДЕС ЗИМНИХ ТАТР на международном горнолыжном курорте Закопане
4. Тема 3 МЕТОД БУХГАЛТЕРСКОГО УЧЕТА ВОПРОСЫ Общая характеристика метода бухгалтерского учета и его
5. 20 лет так как глава посвященная проблеме восприятия
6. Конституционно-правовое регулирование парламентских выборов в Чеченской республике
7. Инвестиции в экономику России- источники, структура, перспективы
8. Т Понятие прочность
9. Модели оптимизации машиностроительного производств
10. Формирование грамматического строя речи у детей старшего дошкольного возраста с ОНР III уровня
11. контрольна робота Обробка результатів прямих багатократних рівно точних вимірювань Виконав-
12.  Некое предприятие за год выпускает продукции на сумму 100 млн
13. Олдос Леонард Хаксли О дивный новый мир [Прекрасный новый мир]
14. Исследование систем управления
15. Астана медицина университеті А~ Форма ЖБ07.
16. методическое пособие для студентов 1 курса железнодорожных специальностей Часть 1
17. Тема- Мастер функций Цель работы- получить навыки использования встроенных статистических логических фу
18. Статья- Никольский храм в Зарайске
19. на тему- Экономика Великобритании
20. Живя с незапамятных времен среди лесов и болот они охотились пасли прирученных животных собирали плоды дик