Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.10.2012, 17:10   #1
hon
Форумчанин
 
Регистрация: 08.06.2011
Сообщений: 693
По умолчанию Построение треугольника по трем сторонам

Проблема вот в чем:
Нужно построить на Image треугольник с тремя задаными сторонами (n1,n2,n3 типа integer).
Первую сторону построить легко:
Код:
   Image1.Canvas.MoveTo(100, 100);
   Image1.Canvas.LineTo(100+n1, 100);
А дальше даже не знаю как. Пробовал делать перебор и проверять, соответствует ли длине, но не получилось. Как достроить еще 2 стороны?
hon вне форума Ответить с цитированием
Старый 26.10.2012, 17:27   #2
xoodoo
Форумчанин
 
Регистрация: 11.04.2012
Сообщений: 212
По умолчанию

Геометрия начальной школы, стыдно должно бьть ее не знать.
Ты построил, к примеру, сторону n1.
Остается решить систему двух уравнений окружностей с радиусами n2, n3, цетры которых совпадают с концами отрезка n1 - решение есть координаты неизвестного угла треугольника
xoodoo вне форума Ответить с цитированием
Старый 28.10.2012, 23:24   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Hon, посмотрите мой код - тут

правда, это для рисования в модуле Graph, но рисование на канве не сильно отличается.

ну и ещё, я бы, на вашем месте, масштабирование рисунка (в моём пример константа mashtab) производил в коде, в зависимости от величины наибольшей стороны....
Serge_Bliznykov вне форума Ответить с цитированием
Старый 29.10.2012, 00:22   #4
kangreon
Форумчанин
 
Аватар для kangreon
 
Регистрация: 03.04.2009
Сообщений: 305
По умолчанию

По теореме синусов, зная радиус описанной окружности, можно найти величины углов треугольника. А дальше, зная определение синуса и косинуса, можно построить треугольник.
kangreon вне форума Ответить с цитированием
Старый 29.10.2012, 08:44   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

kangreon, мой код, по ссылке в пост #3 именно через теорему синусов и находит углы...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 31.10.2012, 23:29   #6
hon
Форумчанин
 
Регистрация: 08.06.2011
Сообщений: 693
По умолчанию

Цитата:
Сообщение от xoodoo Посмотреть сообщение
Ты построил, к примеру, сторону n1.
Остается решить систему двух уравнений окружностей с радиусами n2, n3, цетры которых совпадают с концами отрезка n1 - решение есть координаты неизвестного угла треугольника
Спасибо, не додумался.
hon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
процедуры и функции - возможно ли построение треугольника по длинам сторон, вычисление площади треугольника по длинам сторон kazbek1 Паскаль, Turbo Pascal, PascalABC.NET 2 18.05.2012 10:38
создание треугольника по 3 данным сторонам rombik Общие вопросы Delphi 6 17.12.2010 19:39
построение треугольника blackbanny Общие вопросы C/C++ 1 13.10.2009 13:42
Составить программу идентификации треугольника по сторонам a, b, с. dadka Паскаль, Turbo Pascal, PascalABC.NET 4 08.12.2008 11:47