Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практикум по СиАОД(лабы).doc
Скачиваний:
243
Добавлен:
05.06.2015
Размер:
3.96 Mб
Скачать

Двухлучевой алгоритм.

В двухлучевом алгоритме из начального и конечного элементов одновременно выходят по два луча, трасса считается проведенной, если пересекаются два разноименных луча (от разных источников). Если на пути луча встречается запрещенный элемент, его обход осуществляется по второму приоритетному направлению, характерному для лучей выходящих из одной точки.

Если же оба направления оказываются заблокированными запрещёнными элементами, либо достигнут край координатной сетки, то движение луча прекращается.

Выбор направления движения лучей происходит исходя из интуиции разработчика . Существуют варианты распространения лучей, которые выбираются из таблицы, после вычисления значений aи β.

где (XA,YA) – координаты начального элемента,

(XB,YB) – координаты конечного элемента.

Исходя из значений ивыбирается вид распространения лучей:

Пример 2. Осуществить трассировку элементов а и в .

10

- Вариант распространения лучей

A

B

9

A

1

2

3

4

5

6

7

8

1

6

7

2

5

6

3

7

6

4

5

4

5

3

4

5

6

7

4

2

3

3

1

2

2

1

B

1

1

2

3

4

5

6

7

8

9

10

Четырехлучевой алгоритм.

Из начальной и конечной точек выходят одновременно по четыре луча. Лучи движутся строго по заданным направлениям и “затухают”, если достигли края координатной сетки, либо встретили запрещенный элемент.

1

1

1

A

1

1

B

1

1

1

Пример 3.

2

1

1

A

1

1

2

2

1

B

1

2