C ++,圆上的坐标,涉及的角度,带有if循环的循环

时间:2013-03-21 01:45:19

标签: c++ loops geometry coordinates

我有这段代码。

for(int j=0; j<=n; j++)
{
  Xnew2 = -j*(Y+R2)/n;
  Ynew2 = pow((((Y+R2)*(Y+R2)) - (Xnew2*Xnew2)), 0.5);

  if(abs(Ynew2) <=R1)
    cout<<"\n("<<Xnew2<<", "<<Ynew2<<")"<<endl;

  AngleB2 = acos(Xnew2/pow((pow(Xnew2, 2))+(pow(Ynew2, 2)), 0.5))* (180/Pi);
  cout<<"\nAngle 'B' = "<<AngleB2<<" Degrees"<<endl;

  AngleV2 = acos(((pow(Xnew2, 2))+(pow(Ynew2, 2))+(pow(100, 2))-(pow(65, 2)))/(200*(pow(((pow(Xnew2, 2))+(pow(Ynew2, 2))), 0.5))))* (180/Pi);
  cout<<"Angle 'V' = "<<AngleV2<<" Degrees"<<endl;

  AngleTheta12 = AngleB2 - AngleV2;
  cout<<"Theta 1 = "<<AngleTheta12<<" Degrees"<<endl;

  AngleTheta22 =(asin(pow(((sin(AngleV2*Pi/180))*(pow(((pow(Xnew2, 2))+(pow(Ynew2, 2))), 0.5))/65), 0.5)))*(180/Pi);
  cout<<"Theta 2 = "<<AngleTheta22<<" Degrees"<<endl;
}

我们正在设计一个机器人手的程序,以便能够绘制Syastro Letter'K',它基本上是一个Crecent Moon。我们必须首先计算曲线上的点,并计算机器人手臂的角度,如上所示。

当没有任何限制时(我在计算形状外线的点/角度时),我设法使代码工作,但是一旦我尝试对'for'循环施加限制,它就会不要丢失分数,但仍然列出很多角度......

有谁知道我哪里出错了?我试图限制值,以便'Y'坐标必须在310和-310之间。

如果您理解这一点,谢谢!

0 个答案:

没有答案