Определить Периметр И Площадь Треугольника

skoch1

New member
31.03.2013
4
0
#1
Помогите решить задачку, в треугольнике (рис.1) заданы углы А, В и радиус описанной окружности R. Вычислить и вывести все остальные элементы треугольника, периметр P и площадь S. Не прошу написать все за меня, натолкните на правильное решение ее - надеюсь что пойму, спасибо большое!)
 

Вложения

R

rrrFer

#2
т.е. проблемы не с программированием, а с геометрией? )
 
R

rrrFer

#4
нарисуй на бумаге треугольник, впиши окружность, из ее центра опусти 3 перпендикуляра и 3 прямх в каждый из углов.

Сдается мне, прямая будет делить угол по полам.

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

Имея гипонезу вспоминаешь чему равен косинус все того же угла и находишь второй катет (а это часть стороны большого треугольника).

Делаешь тоже самое для остлаьных 5 треугольников и получаешь 3 стороны большого треугольника. Дальше проще )
 

skoch1

New member
31.03.2013
4
0
#5
нарисуй на бумаге треугольник, впиши окружность, из ее центра опусти 3 перпендикуляра и 3 прямх в каждый из углов.

Сдается мне, прямая будет делить угол по полам.

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

Имея гипонезу вспоминаешь чему равен косинус все того же угла и находишь второй катет (а это часть стороны большого треугольника).

Делаешь тоже самое для остлаьных 5 треугольников и получаешь 3 стороны большого треугольника. Дальше проще )
Спасибо огромное! Разобрался)
 

skoch1

New member
31.03.2013
4
0
#8
Добавлено: Есть еще небольшой вопросик, решил задачу, но теперь нужно построить график с помощь <graphics.h> по тем данным какие мы вводили и получили:
Код:
float a, b, c, h, R, A, B, C, P, S, p // a,b,c - стороны, h - высота, A,B,C -углы, p-полупериметр, P-периметр, S-площадь


int driver=DETECT,gmode,errorcode;
initgraph(&driver,&gmode,"C:\\BORLANDC\\BGI");
errorcode=graphresult();
if(errorcode!=grOk)
{printf("Ошибка:%s\n",grapherrormsg(errorcode));
printf("На любую кнопку!");
getch();
exit(1);}
setbkcolor();
clearviewport();
setcolor();
setlinestyle(DOTTED_LINE,1,NORM_WIDTH);
line(0,0,midx-10,midy); //не пойму как правильно задавать
outtextxy(); //не пойму как правильно задавать
 
R

rrrFer

#9
препод зол, графикс.ш уныл.

Я думаю надо начать с вычисления координат этого безобразия (как это отобразить ты потом решишь), ставь первую точку в 0.0 и вычисляй координаты двух сотальных точек (тебе стопудово опять потребуеца геометрия, но попробуй сам, там должно быть просто)

когда вычислишь координаты тебе надо пощитать размеры треугольника (насколько он вытянут по высоте и ширине)

надо получить размеры экрана и изменить размеры треугольника пропорционально так, чтобы он вошел в экран )

ну а потом как-то смещаешь его (координаты точек изменяешь) так, чтобы небыло отрицательных координат:
находишь значение х самой левой точки и прибавляешь его к этой компоненте всех остальных точек, аналогично с У.

потом тупо выводишь )
 

skoch1

New member
31.03.2013
4
0
#10
Это все хорошо, но к сожалению завтра уже нужно сдать к/р роботу, с этим графиком сил уже моих нет боротся - помогите написать - пожалуйста....