| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Системное программирование и WinAPI > Расчет угла поворота для шрифта |
| Автор: dadrum 24.8.2008, 10:37 |
| Добрый день! Задавался ли кто-нибудь вопросом о расчете угла поворота (lfEscapement и lfOrientation) для шрифта по известным двум точкам отрезка? Задача состоит в том, чтобы отобразить текст вдоль отрезка с точками A(x1,y1) и B(x2,y2). Пытался вычислить по формуле -(10*180/M_PI)*tan((y2-y1)/(x2-x1)) но угол правильный получается лишь для некоторых ситуаций расположения точек ... Помогите алгоритмом |
| Автор: jonie 24.8.2008, 12:33 |
| две точки задают прямую, угла они задать НЕ могут. хотя я подозреваю что вы имеете ввиду угол между этой прямой и прямой OX.. одним словом: http://ipicture.ru/ |
| Автор: dadrum 24.8.2008, 12:48 |
| Да, имелось ввиду - угол от OX а кто такие L M и N , расшифруйте, если не трудна ... |
| Автор: Earnest 26.8.2008, 14:39 |
| Не, лучше (проще) через atan2: double phi = atan2 (y2-y1, x2-x1); phi получится в радианах, от -pi до pi, в градусы уж как-нибудь пересчитаешь. Преимущество в том, что не надо рассматривать особые случаи (прямой угол) и правильно выбирается квадрант. |
| Автор: dadrum 27.8.2008, 14:06 |
| То, что нужно! Спасибо |