Показать сообщение отдельно
Старый 29.08.2013, 18:25
elder_Nosferatu вне форума Посмотреть профиль Отправить личное сообщение для elder_Nosferatu Найти все сообщения от elder_Nosferatu
  № 3  
Ответить с цитированием
elder_Nosferatu
 
Аватар для elder_Nosferatu

Регистрация: Nov 2010
Адрес: 48° 55'N 24° 42'E GMT +2:00
Сообщений: 399
Записей в блоге: 1
С помощью геометрии...
Дано: вершины треугольника, радиус закругления.

Решение:
1) Ищем точку пересечения бисектрис треугольника.
2) Ищем расстояние то этой точки к одной из сторон (оно будет одинаково для всех сторон)
3) Сравниваем найденое расстояние с заданым радиусом. Если радиус больше, то меняем его на значение расстояния.
4) Ищем на каждой бисектрисе точку , расстояние от сторон угла которой будет равно радиусу закругления. Это будут центры дуг закругления.
5) Опускаем перпендикуляры с найденых центров на соседние стороны. Пересечения будут началом и концом дуги закругления.
6) Используя вершыну, с которой проведена бисектриса, решаем в какую сторону рисовать дугу (по часовой или против часовой).

Полученых данных достаточно для рисования фигуры.
ЗЫ: Не завидую Вам, если возьметесь это делать и очень порадуюсь, если Вам все же это удасться...