圆弧计算点

Calculating point in arc

我正在尝试计算图像中显示的红线的坐标。

我写了以下内容:

    QPoint clsLOFmimic::ptCalcEndPt(QPoint* pptOrigin
                                   ,int intRadius
                                   ,float fltAngle) {
        double dblRadians = ((double)fltAngle) * (M_PI / 180.0);
        return QPoint(((double)intRadius * cos(dblRadians)) + pptOrigin->x()
                      ,((double)intRadius * sin(dblRadians)) + pptOrigin->y());
    }

但是计算出的终点方向不正确。 'pptOrigin' 是左下角直线相交处的坐标。

目标是计算正确的端点以反映图中所示的线。 X从左到右递增,Y从上到下递增。

如果 y 向下增加,则必须对 sin() 函数应用减号。当 x 向右增加而 y 向上增加时,三角函数的工作方式与您预期的一样。