Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Скругление угла [D7, WinXP]


KOSik ©   (2007-03-25 17:08:00) 

Доброго дня всем! У меня такая задача: даны 2 отрезка, заданные точками. Они имеют общую точку-узел. Нужно реализовать скругление получившегося угла дугой окружности заданного радиуса. Может кто может чиго подсказать? Заранее весьма благодарен! =)


Rial   (2007-03-26 18:54:00) [1]

А в точках пересечения с отрезками они же и будут касательными
к окружности.
Также придется рассчитать угол между прямыми A.
A1, A2 - точки пересечения окружности с прямыми.
P0 - точка пересечения отрезков.
B - точка перечения отрезка (A1,A2) и биссектрисы.

Тогда длины открезков (A1, P0) и (A2, P0) равны.
Расстояние от P0 до B будет равно
Cos(A / 2) * RR

Расстояние от B до центра окружности будет равно
Cos((Pi - A)/2) * R.

Т.е. для нахождения центра окружности надо отсчитать
по биссектрисе
L = Cos(A / 2) * RR + Cos((Pi - A) / 2) * R, где
RR = R * Sin((Pi - A) / 2) / Sin(A / 2);


MBo   (2007-03-26 06:03:00) [2]

центр будет лежать на биссектрисе.


KOSik   (2007-03-25 20:58:00) [3]


> MBo ©   (25.03.07 20:10) [1]


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


MBo   (2007-03-25 20:10:00) [4]

http://www.efg2.com/Lab/Library/UseNet/2003/0221.txt


Наверх

Титульная страница Поиск, карта сайта Написать письмо