Найти расстояние между треугольником и окружностью - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Найти расстояние между заданными на плоскости треугольником и окружностью. Между треугольником и окружностью можно провести разграничительную линию (это условие не проверять). Треугольник задается вершинами A(x_a, y_a), B(x_b, y_b) и С(x_с, y_с). Окружность задается центром M (x_m, y_m) и радиусом r. Формат входных данных: [x_a] [y_a] [x_b] [y_b] [x_с] [y_с] [x_m] [y_m] [r]. Координаты задаются целыми числами в диапазоне ±1000. Радиус задается целым числом в диапазоне [1, 100]. Пример: 0 0 1 5 3 8 4 3 22 Формат выходных данных: [расстояние]. Расстояние представляется вещественным число с точностью до двух знаков. Пример: 9.21

Решение задачи: «Найти расстояние между треугольником и окружностью»

textual
Листинг программы
//подсчет расстояния вершин треугольника от точки М     
r2=pow(pow((double)x_b-(double)x_m,2)+pow((double)y_b-(double)y_m,2),0.1/0.2);//B
 
    if ((r2<=r1) && (r2<=r3)&&(stope==false))//если точка B ближе
        { 
            D1=r2;
            x1=x_b;
            y1=y_b;
            stope=true;
            //проверка расположения второй вершины
            if (r1<=r3) 
            {
                x2=x_a;
                y2=y_a;
            }   
            else
            {
                x2=x_c;
                y2=y_c;
            }
        }
 
        //вычисление расстояние от центра круга до стороны треугольника
        B=x2-x1;
        A=y2-y1;
        C=(x1*A-y1*B);
        D=(A*x_m+B*y_m-C);
 
    //модуль в числителе формулы
        if (D<0) 
            D=D*(-1);
            //формула рассчета расстояния от точки до прямой
            distance=(double)D/(pow(pow((double)A,2)+pow((double)B,2),0.1/0.2));
 
            //вычитание из длины радиус круга
            distance=distance-r;

ИИ поможет Вам:


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

Оцени полезность:

7   голосов , оценка 4.143 из 5
Похожие ответы