Qt如何使用QPainter和3个圆弧上的坐标点来获得圆弧的起始角度和跨越角度

使用QPainter的drawArc(const QRectF &rectangle, int startAngle, int spanAngle)需要3个参数,求解后面的2个参数如何根据坐标点进行计算?

三角函数
计算几何

仅供参考:

double angle3Points(cv::Point pt1, cv::Point pt2, cv::Point pt0) {// finds a angle between vectors from pt0->pt1 and from pt0->pt2
    double dx1 = pt1.x - pt0.x;
    double dy1 = pt1.y - pt0.y;
    double dx2 = pt2.x - pt0.x;
    double dy2 = pt2.y - pt0.y;
    double angle=acos((dx1*dx2 + dy1*dy2) / sqrt((dx1*dx1 + dy1*dy1)*(dx2*dx2 + dy2*dy2) + 1e-10))*180.0 / 3.14159265;
//  double cross=dx1*dy2-dx2*dy1;
//  if (cross<0) angle=-angle;
    return angle;
}