Большое спасибо!
В Вашем примере вершины треугольника в мировых координатах?
Нет, как бы мы назначаем систему координат тр-ка. Часто говорят "модельные координаты".
Для дуги рисуемой с помощью QPainter::drawArc все то же самое, только ofs и angle вычисляются чуть по-другому
C++ (Qt)
// R - первый аргумент drawArc
// arc_angle - конечный угол в радианах (startAngle + spanAngle) / 16 / 180 * M_PI
// радиусы (полуоси) эллипса
qreal radX = R.width() / 2.0;
qreal radY = R.height() / 2.0;
// смещение
ofs = QPointF(R.center().x() + radX * cos(arc_angle), R.center().y() + radY * sin(arc_angle));
// угол поворота = углу касательной
qreal delta = M_PI / 180;
angle = atan2(radY * (sin(arc_angle) - sin(arg_angle - delta), radX * (cos(arc_angle) - cos(arg_angle - delta)));
// отнимаем PI / 2 т.к. исходная стрелка вдоль оси Y. Можно расположить ее по X, тогда отнимать не надо
angle -= M_PI / 2;