Transformer angleValueTransformer;
angleValueTransformer.setAngleRangeDegrees(CTcm_ValueRange<double>(60, -240));
angleValueTransformer.setValueRange(CTcm_ValueRange<double>(m_ValueRange.m_Max, m_ValueRange.m_Min));
angleValueTransformer.setCurrentValue(m_LimitValue);
QPointF pointF;
auto calcAngle = (std::numbers::pi_v<qreal> * angle) / 180.0;
pointF.setX((radius + (radius * qCos(calcAngle)) - offset * qSin(calcAngle)));
pointF.setY((radius + (radius * qSin(calcAngle)) + offset * qCos(calcAngle)));
return pointF;
angleValueTransformer.setAngleRangeDegrees(CTcm_ValueRange<double>(-60, 240));
angleValueTransformer.setValueRange(CTcm_ValueRange<double>(m_ValueRange.m_Min, m_ValueRange.m_Max));
angleValueTransformer.setCurrentValue(m_NeedleValue);
auto alpha = ((std::numbers::pi_v<qreal> / 2) - ((m_NeedleValue * (std::numbers::pi_v<qreal>) * ( 5.0 / 6.0)) / m_ValueRange.m_Max ));
auto alpha = ((std::numbers::pi_v<qreal> / 2) - ((m_NeedleValue * 5) / 1200.0 ));
qDebug() << "Value: " << m_NeedleValue << "alpha" << alpha;
QPointF pointF;
auto calcAngle = (std::numbers::pi_v<qreal> * angle) / 180.0;
pointF.setX((m_MainCircleRadius + (radius * qCos(calcAngle)) * qSin(calcAngle)));
pointF.setY((m_MainCircleRadius + (radius * qSin(calcAngle)) * qCos(calcAngle)));
return pointF;
Минимальное значение оно как на картинке всегда на левой стороне.
Рисую я через обьект у которого 0 начинается право центр, на 3 часа. по часовой это положильные а против часовой это отрицательные. внешний полукруг я рисую од 110 до 320.
А вот теперь по поводу градусов, я не знаю что правильно по диапазону надо передавать туда, это я взял от куда то примером и сработало, то есть что такое за 60 градусов и -240 не понимаю.
Но так как ромбы что я хочу нарисовать должны пренадлежать области 120 и 310 я не знаю что за градусы должны быть чтоыб узнать угол.