编程时.I.J是圆弧起点到圆心的差值,怎样算出差值是正是正负

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/09 16:43:48
编程时.I.J是圆弧起点到圆心的差值,怎样算出差值是正是正负

编程时.I.J是圆弧起点到圆心的差值,怎样算出差值是正是正负
编程时.I.J是圆弧起点到圆心的差值,怎样算出差值是正是正负

编程时.I.J是圆弧起点到圆心的差值,怎样算出差值是正是正负
void RoundBre(int x1,int y1,int R,CDC pDC)
  {
  //圆心(x1,y1),当前像素I(xi,yi),右像素H(xi+1,y),右下像素D(xi+1,yi-1),下像素V(xi,yi-1)
  int xi,yi,dd,m,n;
  //圆心距差值平方dh=(xi+1)*(xi+1)+yi*yi-R*R; dd=(xi+1)*(xi+1)+(yi-1)*(yi-1)-R*R; dv=xi*xi+(yi-1)*(yi-1)-R*R;
  xi=0; //起点(0,R)
  yi=R;
  dd=2-2*R; //起点的右下像素(1,R-1)的圆心距差值dd=1+(R-1)*(R-1)-R*R
  pDC.SetPixel(x1,y1,RGB(0,0,255)); //画圆心,证明圆心必须占用一个像素
  while(yi>=xi) //循环到八分之一圆;yi>=0即可以画出四分圆
  {
  pDC.SetPixel(xi+x1,yi+y1,RGB(255,0,0)); //2区,坐标平移(x1,y1)画圆
  pDC.SetPixel(yi+x1,xi+y1,RGB(255,0,0)); //1区
  pDC.SetPixel(-xi+x1,yi+y1,RGB(255,0,0)); //3区
  pDC.SetPixel(-yi+x1,xi+y1,RGB(255,0,0)); //4区
  pDC.SetPixel(-yi+x1,-xi+y1,RGB(255,0,0)); //5区
  pDC.SetPixel(-xi+x1,-yi+y1,RGB(255,0,0)); //6区
  pDC.SetPixel(xi+x1,-yi+y1,RGB(255,0,0)); //7区
  pDC.SetPixel(yi+x1,-xi+y1,RGB(255,0,0)); //8区
  if(dd<0) //D在圆内;H在圆上或圆外;选择H或D,dh>=0,dd<0,m=|dh|-|dd|=2*(dd+yi)-1;
  {
  m=2*(dd+yi)-1;
  if(m<=0) //取右像素H(xi+1,yi);m=0时 取右点
  {
  dd=dd+2*xi+3; //求H的右下像素(xi+2,yi-1),dd=(xi+2)*(xi+2)+(yi-1)*(yi-1)-R*R
  xi=xi+1;
  }
  else //取右下像素D(xi+1,yi-1)
  {
  dd=dd+2*(xi-yi+3); //求D的右下像素(xi+2,yi-2),dd=(xi+2)*(xi+2)+(yi-2)*(yi-2)-R*R
  xi=xi+1;
  yi=yi-1;
  }
  }
  else if(dd>0) //D在圆外;V在圆外或圆上;选择D或V;dd>0,dv<=0,n=|dd|-|dv|=2*(dd-xi)-1;
  {
  n=2*(dd-xi)-1;
  if(n<=0) //取右下像素D(xi+1,yi-1);n=0时取
  {
  dd=dd+2*(xi-yi+3); //求D的右下像素(xi+2,yi-2),dd=(xi+2)*(xi+2)+(yi-2)*(yi-2)-R*R
  xi=xi+1;
  yi=yi-1;
  }
  else //取下像素V(xi,yi-1)
  {
  dd=dd-2*yi+3; //求V的右下像素(xi+1,yi-2)dd=(xi+1)*(xi+1)+(yi-2)*(yi-2)-R*R
  yi=yi-1;
  }
  }
  else if(dd==0) //D在圆上,取D(xi+1,yi-1)
  {
  dd=dd+2*(xi-yi+3); //求D的右下像素(xi+2,yi-2),dd=(xi+2)*(xi+2)+(yi-2)*(yi-2)-R*R
  xi=xi+1;
  yi=yi-1;
  }
  }
  }
  CDC中的SetPixel方法别忘记改哦
  ······································
  说行天下 是非常不错的小说网站大全,值得拥有.

编程时.I.J是圆弧起点到圆心的差值,怎样算出差值是正是正负 车圆弧时,用圆心坐标编程,请问I和K是从圆心到起点还是起点到圆心来确定它们的正负? 数控编程中I J是圆心坐标-起点坐标,那 I J是圆弧圆心坐标吗? 广数TDB圆心与圆弧起点在X方向的差值 圆弧长度计算公式 已知圆弧,圆心的半径是5.05米,圆弧的角度是23度,圆弧的起点到终点是2米,求圆弧长度 6.圆弧编程格式,X-Y-Z表示( ) A.圆弧的起点坐标 B.圆弧的中终点坐标 C.圆心坐标 D.圆弧半径6.圆弧编程格式,X-Y-Z表示( )A.圆弧的起点坐标B.圆弧的中终点坐标C.圆心坐标D.圆弧半 数控车削中有大于180度的圆弧吗?(从起点到终点计算其切削轨迹)是不是在数控车上可以不用圆心方式编程?请举一个编程实例. 数控车床了切圆弧怎么编程切圆弧没搞懂 GO2 和GO3 是顺时和逆时的 那怎么看顺时逆时 然后举个例子 比如要切一个R为10的圆弧 圆弧的起点坐标是 X 10 Z-10 ;重点坐标是 X 15 Z15; 这样的圆弧怎 autocad半径标注怎么让标注线是从圆心到圆弧的CAD2008,我在用半径标注时选定要标的圆弧之后鼠标指的地方总是被CAD定为标注的起点,另一端当然就是圆弧上的点了.但是我想让标注的起点总是 数控等离子切割机编程圆弧怎么编?里面和外面的两个圆弧怎么编程?,是不是应该一个顺圆弧一个逆圆弧?编程后面是不是会有个I和J,但是是什么意思? 数控车圆弧用I K编程.怎样计算圆心在坐标中的位置?数控加工一圆弧.想用I K编程.想知道是圆心坐标位置怎样算的...已知圆弧半径为R25长20右端工件直径30左端50求圆心在坐标中的位置.单位毫 请问:CAD中的绘制圆弧命令:起点、圆心、端点与圆心、起点、端点的区别?起点、圆心、角度与圆心、起点、角度;起点、圆心、长度与圆心、起点、长度的区别? 圆弧的圆心(50,50)起点坐标(100,80)角度90圆弧的长多少 在数控编程怎么计算圆弧的起点和终点坐标具体的公式是什么? solidworks如何标注圆弧到直线的距离是圆弧到直线的距离,不是圆弧圆心到直线的距离, 已知圆曲线(圆弧)起点(X=3410747.235,Y=509255.596)和终点坐标(3409798.074,511036.768)和半径3350,求圆心坐标和圆心到起点的方位角给出解题思路和方法. 数控车编程圆弧节点的计算方法,已附图如图,r8圆弧的起点坐标怎么算啊,和建立三角形的过程.r10和r14圆弧我都会算,就是这个r8的起点z坐标不会算.R8起点坐标x是20 忘了标注了 已知圆弧的起点和终点坐标.圆弧半径和圆弧的中点坐标,在法拉克数控车床上怎么编程