![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| dadrum |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 13.4.2007 Репутация: нет Всего: нет |
Добрый день!
Задавался ли кто-нибудь вопросом о расчете угла поворота (lfEscapement и lfOrientation) для шрифта по известным двум точкам отрезка? Задача состоит в том, чтобы отобразить текст вдоль отрезка с точками A(x1,y1) и B(x2,y2). Пытался вычислить по формуле -(10*180/M_PI)*tan((y2-y1)/(x2-x1)) но угол правильный получается лишь для некоторых ситуаций расположения точек ... Помогите алгоритмом Это сообщение отредактировал(а) dadrum - 24.8.2008, 10:43 |
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 7 Всего: 118 |
две точки задают прямую, угла они задать НЕ могут.
хотя я подозреваю что вы имеете ввиду угол между этой прямой и прямой OX.. одним словом: ![]() -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| dadrum |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 13.4.2007 Репутация: нет Всего: нет |
Да, имелось ввиду - угол от OX
а кто такие L M и N , расшифруйте, если не трудна ... |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 33 Всего: 183 |
Не, лучше (проще) через atan2:
double phi = atan2 (y2-y1, x2-x1); phi получится в радианах, от -pi до pi, в градусы уж как-нибудь пересчитаешь. Преимущество в том, что не надо рассматривать особые случаи (прямой угол) и правильно выбирается квадрант. -------------------- ... |
|||
|
||||
| dadrum |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 13.4.2007 Репутация: нет Всего: нет |
То, что нужно! Спасибо
Это сообщение отредактировал(а) dadrum - 28.8.2008, 08:25 |
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |