请编程将1个半径为2毫米的圆,分为360份,计算从上一点到下一点之间X,Y的坐标差.用c语言哦
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/02 14:30:40
![请编程将1个半径为2毫米的圆,分为360份,计算从上一点到下一点之间X,Y的坐标差.用c语言哦](/uploads/image/z/14283329-41-9.jpg?t=%E8%AF%B7%E7%BC%96%E7%A8%8B%E5%B0%861%E4%B8%AA%E5%8D%8A%E5%BE%84%E4%B8%BA2%E6%AF%AB%E7%B1%B3%E7%9A%84%E5%9C%86%2C%E5%88%86%E4%B8%BA360%E4%BB%BD%2C%E8%AE%A1%E7%AE%97%E4%BB%8E%E4%B8%8A%E4%B8%80%E7%82%B9%E5%88%B0%E4%B8%8B%E4%B8%80%E7%82%B9%E4%B9%8B%E9%97%B4X%2CY%E7%9A%84%E5%9D%90%E6%A0%87%E5%B7%AE.%E7%94%A8c%E8%AF%AD%E8%A8%80%E5%93%A6)
请编程将1个半径为2毫米的圆,分为360份,计算从上一点到下一点之间X,Y的坐标差.用c语言哦
请编程将1个半径为2毫米的圆,分为360份,计算从上一点到下一点之间X,Y的坐标差.
用c语言哦
请编程将1个半径为2毫米的圆,分为360份,计算从上一点到下一点之间X,Y的坐标差.用c语言哦
圆分为360份,则圆上两相邻点的到圆心两线所夹的角度为1°.设下一点坐标为(r*cos(α),r*sin(α)),则上一点坐标为(r*cos(α+1),r*sin(α+1)).两坐标差一减就出来了.(注意将α,1°均化为弧度).C语言编程如下:
#include
#include
//计算相邻两坐标的差
double *CaldeltaXY(double r,double alpha)
{
double deg2rad = 3.1415926535898/180;
alpha = alpha*deg2rad;
double a = 1*deg2rad;
double X1 = r*cos(alpha+a);
double Y1 = r*sin(alpha+a);
double X2 = r*cos(alpha);
double Y2 = r*sin(alpha);
\x05
double temp[2];
temp[0] = X1-X2;
temp[1] = Y1-Y2;
double *deltaXY = temp;
return deltaXY;
}
void main()
{
\x05double r = 0.002;
\x05double *deltaXY = CaldeltaXY(r,60);
\x05printf("%lf,%lf",*deltaXY,*(deltaXY+1));
}