با کد زیر می تونید اینکارو انجام بدید.
#define BH_RAD_TO_DEG 180/CV_PI
#define BH_DEG_TO_RAD CV_PI/180
Point bhGetRadialPoint2(Point center,int radius,float angle)
{
Point resPoint ;
resPoint.x = center.x + static_cast<int>( cos(angle * BH_DEG_TO_RAD) * radius) ;
resPoint.y = center.y + static_cast<int>(sin(angle * BH_DEG_TO_RAD) * radius) ;
return resPoint;
}
int main(int argc, char* argv[])
{
Mat img(500,500,CV_8UC3,Scalar::all(0));
int radius = 100;
Point c(100,100);
circle(img,c,radius,Scalar(0,255,0));
Point new_point = bhGetRadialPoint2(c,radius,45);
int dis = new_point.x - c.x;
rectangle(img,Rect(c.x-dis,c.y-dis,dis*2,dis*2),Scalar(0,0,255));
imshow("DDD",img);
waitKey(0);}