Нахождение 3-го местоположения веточек в системе координат - PullRequest
0 голосов
/ 01 мая 2020

Итак, вот в чем проблема. Мне даны длины трех сторон треугольника. Программа вычисляет площадь данного треугольника, используя детерминанты. Я предполагаю, что одна вершина треугольника находится в точке (0,0), а вторая - в (c, 0), где c - длина самой длинной стороны. Так что бы было проще всего получить координаты 3-й вершины. Я попробовал теорему косинуса, чтобы получить уравнение линии, через которое проходит сторона, но это немного не так. У меня есть программа для определения решимости, если она вам нужна:

    float det(int n, float mat[3][3])
{
int d=0;
int c, subi, i, j, subj;
float submat[3][3];  
if(n == 2) {
            return( (mat[0][0] * mat[1][1]) - (mat[1][0] * mat[0][1]));
            }
else{  
    for(c = 0; c < n; c++){  
            subi = 0;  
            for(i = 1; i < n; i++){  
                subj = 0;
                for(j = 0; j < n; j++){    
                    if (j == c){
                        continue;
                    }
                    submat[subi][subj] = mat[i][j];
                    subj++;
                }
                subi++;
            }
        d = d + (pow(-1 ,c) * mat[0][c] * det(n - 1 ,submat));
        }
    }
    return d;

}

. , .

ans=det.det(3,coords)*0.5;

Пример изображения треугольника, построенного в GeoGebra:

img

...