Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Копия L10_01_08.doc
Скачиваний:
2
Добавлен:
29.08.2019
Размер:
269.31 Кб
Скачать

1.4 Обозначение данных

Обозначение в формуле

Обозначение в программе

Характеристика переменной

Назначение переменной

XD, YD, XE, YE

XF, YF, XG, YG

XH, YH, XI, YI

X1

Y1

X2

Y2

X3

Y3

R

1

1

R1

S

xd,yd,xe,ye

xf,yf,xg,yg

xh,yh,xi,yi

X(1)

Y(1)

X(2)

Y(2)

X(3)

Y(3)

XC

YC

R

XC1

YC1

R1

SF

входная

входная

входная

выходная

выходная

выходная

выходная

выходная

выходная

выходная

выходная

выходная

выходная

выходная

выходная

выходная

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

прямых

Координаты вершин

треугольника

Центр вписанной окружности

Радиус

Центр второй окружности

Радиус

Площадь

1.5 Проверка прямых

Как было отмечено при анализе задачи, решение имеется только тогда, когда никакие прямых из трех заданных не параллельны. Признак параллельности прямых – равенство угловых коэффициентов. Рассчитываем угловые коэффициенты:

Если k1  k2  k3, то прямые не параллельны и можно приступать к основным вычислениям.

1.6 Точки пересечения прямых

Возьмем две прямые из заданных и определим для них коэффициенты уравнения прямой k1, b1, k2, b2.

Задаем интервал [a, b], внутри которого предположительно расположена точка пересечения. Проверим его. Если функция, описывающая систему, меняет свой знак на границах интервала, то по теореме Больцано – Коши это свидетельствует о наличии корня внутри данного интервала. Вычислим ординаты для первой и второй прямых в точках а и b.

Находим разность соответствующих ординат первой и второй прямых:

Если произведение 12 < 0, то внутри интервала [a, b] есть корень уравнения – точка пересечения прямых. Если 12 > 0, то интервал выбран неверно, необходимо задать другие значения а и b.

Приступаем к вычислению точки пересечения.

Шаг №1. Вычисляем середину интервала:

Шаг №2. Для вычисленного значения Хр вычисляем ординаты для первой и второй прямой:

Шаг №3. Определяем направление расположения точки пересечения. Для этого вычисляем ординаты прямых для точки, смещенной на некоторое малое расстояние вправо, равное, например половине точности 

Xp’=Xp+

Шаг №4. Вычисляем разности:

1 = |Yp1-Yp2|

2 = |Yp11-Yp21|

Рис. 3. Определение точки пересечения прямых методом бисекций

Шаг 5. Сравниваем полученные значения разностей.

Если 1 > 2 то точка пересечения находится правее Хр и переопределяем левую границу интервала а = Xp, иначе – переопределяем правую границу интервала b = Xp.

Шаг №6. Проверяем разность b – a. Если она меньше заданной точности , решение найдено. В противном случае переходим к шагу №1.

При расчете возможен случай, когда точка направления пересечения и текущая точка Хр окажутся по разные стороны от точки пересечения (см. рис. 3). Для исключения ошибки в этом случае необходимо проверять одинаковость знаков разностей 1 и 2.

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

Аналогично вычисляем точки пересечения 1 и 3 прямых и 2 и 3. В результате получим координаты вершин треугольника.