Ю2.7

Задача.

Треугольник и круги.

Лежит ли заданный  на плоскости треугольник АВС в области пересечения заданных кругов:

[latex](x-a1)^2+(y-b1)^2<r1^2[/latex] , и [latex](x-a2)^2+(y-b2)^2<r2^2[/latex]  ?
Ссылка на программу на С++: http://ideone.com/NYTAWN

Код программы на Java:

Ссылка на программу на Java:http: //ideone.com/QZ7RB1

Решение:

Поскольку все фигуры выпуклые достаточно проверить вершины треугольника. Подставляем координаты всех трёх вершин в оба неравенства. Если все условия удовлетворены, то лежит. Если хоть одно условие не выполняется, то не лежит.

Тест

a1 b1 r1 a2 b2 r2 ax bx cx ay by cy Принадлежит?
1 2 3 3 4 5 6 7 8 6 7 4 нет
1 2 15 3 4 12 6 7 8 6 7 4 да
7 5 10 4 6 16 6 7 3 5 6 7 да
7 5 5 4 6 3 6 7 3 5 6 7 нет

 

Related Images:

6 thoughts on “Ю2.7

  1. Давайте от простого к сложному.
    — Не указаны метки (ключевые слова)
    — В тексте программы отсутствуют отступы. Куда они сбежали? Я же их днём видел!
    — Формулы не видны. Причина — Вы их не вставляли, а вставили их изображения. На сайте об этом уже раз 5-6 в разных местах написано. Во всех инструкциях и ответах. Пишу прямо пример по вашему тексту: «радиус большего круга [latex]R_b[/latex] и радиус меньшего круга [latex]R_s[/latex]»
    — Даже один математический символ или переменная должны быть в laTeX. См. пример выше.
    — Катя, Вы вообще задачу не поняли. Какие площади и какие высоты? Что, все маленькие треугольники принадлежат всем большим окружностям? Вы же так не думаете на самом деле!
    Я попробую описать Вам условие задачи подробнее чем в задачнике.
    Дано:
    1. Координаты вершин треугольника (6 чисел, читаются из входного потока)
    2. Координаты центра и радиус двух окружностей (две тройки чисел, читаются из входного потока)
    Определить: Принадлежат ли все точки треугольника одновременно обоим окружностям. Т.е. лежит ли треугольник внутри пересечения окружностей.
    Решение: Поскольку все фигуры выпуклые достаточно проверить вершины треугольника. Подставляем координаты всех трёх вершин в оба неравенства. Если все условия удовлетворены, то лежит. Если хоть одно условие не выполняется, то не лежит.
    Если не очень понятно, нарисуйте картинку.

  2. — Где метки?
    — Вы пишите «Как мы видим, что достаточно подставить более большие значения r1 и r2 чтобы проверить оба случая.» Я попытался поправить эту фразу. Получилось так: «Мы видим, что достаточно подставить бо́льшие значения r1 и r2 чтобы проверить оба случая».
    Что эта фраза означает?

    • Пожалуй, можно обойтись и без нее.

Добавить комментарий