碧波液压网 欢迎你,游客。 登录 注册

精密测量与求解圆弧半径的方法

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  

  1 测量方法

  以万工显上分度盘的旋转中心O为原点。建立直角坐标系,准确地确定出原点的坐标:O(x0,y0),并调整分度盘的角度读数φ0=0°。根据被测圆弧的安装位置及圆弧包角大小(图1),选择三个不同的转角φ1、φ2、φ3分别测量出被测圆弧的切线到基线(与仪器纵向x平行且过原点的直线)的距离(切线距)h1、h2、h3,则可得到三组数据:φ1,h1;φ2,h2;φ3,h3。

  

  2 圆弧半径计算公式

  以三组数据为依据,绘出计算图(图2)。通过圆弧中心O1的三条直线L1,L2,L3的法线分别是过原点O的P1,P2,P3有向线段;φ1,φ2,φ3是分度盘的转角,它以基线正向逆时针转向为正,顺时 针转向为负。被测圆弧的半径R,可通过直线Li的方程求出

  

  

  

  测量时,如果其中有一次分度盘不旋转,即φo=0,当以φo代替φ3,ho代替h3代入式(3)并化简

  

  式(3)、式(4),当被测圆弧的切线位于圆弧中心O1之上时取正号,位于圆弧中心O1之下时取负号,而与被测圆弧是外圆弧还是内圆弧无关。

  3 圆弧半径的求解

  尽管本文是以圆弧上三点建立的半径计算公式,可是笔者通过计算机用TURBO·C语言编辑的源程序RR. C程序,解决了圆弧多点测量的半径计算问题。测量时可以在被测圆弧轮廓上均匀地选择测量点,进行多点测量。然后按每三组的测量数据(φi, hi)求出Ri,并以Ri的平均值作为被测圆弧半径的测量结果。

  用TURBO·C语言编辑的源程序RR·C程序(在中文DOS下编译)

  #include

  main()

  {double yo,Pm=0·000 000,r,qrh();

  int i;

  char*m;

  printf(“输入原点坐标:yo; n”);

  scanf(“%lf”,&yo);

  for(i=0;i<100;i++)

  {printf(“已经测量%d次 n”,i);

  printf(“继续测量吗? Y/N: n”);

  scanf(“%s”,&m);

  if(m==‘n’)

  {r=pm/i;

  printf(“R=%lf”,r);

  break;}

  pm=pm+qrh(yo);}}

  double qrh(yy)

  double yy;

  {double ho=0,m1,m2,m3,r,y1,y2,y3,h1=0,h2=0,h3=0;

  int a1,a2,a3;);

  printf(“输入转角Φ1: n”);

  scanf(“%d”,&a1);

  printf(“输入纵坐标Y1: n”);

  scanf(“%lf,”&y1);

  printf(“输入转角Φ2: n”);

  scanf(“%d”,&a2);

  printf(“输入纵坐标:Y2: n”);

  scanf(“%lf”,&y2);

  printf(“输入转角Φ3: n”);

  scanf(“%d”,&a3);

  printf(“输入纵坐标Y3: n”);

  scanf(“%lf”,&y3);

  h0=y1-yy;

  h1=fabs(ho);

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论