圆弧计算点
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 向上增加时,三角函数的工作方式与您预期的一样。
我正在尝试计算图像中显示的红线的坐标。
我写了以下内容:
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 向上增加时,三角函数的工作方式与您预期的一样。