g代码如下

T1M6

G17

G0Z5.000

G0X0.000Y0.000S15000M3

G0X6.920Y10.816Z5.000

G1Z0.000F240.0

G1X6.461Y10.758F600.0

G3X6.009Y10.361I0.268J-0.763

G1X5.922Y9.917

Y9.008

G3X6.873Y8.456I0.675J0.067

G3X7.237Y8.775I-0.216J0.614

G3X7.291Y9.325I-1.167J0.392

G1X8.406

G3X8.606Y8.584I0.778J-0.187

G3X9.574I0.484J0.573

G3X9.775Y9.008I-0.363J0.431

G1Y10.071

G3X8.816Y10.816I-0.838J-0.089

G1Y16.796

X10.009

X10.034Y11.219

G3X11.329Y9.669I2.077J0.420

G1Y3.814

G3X10.251Y2.999I0.918J-2.336

G3X9.833Y1.768I1.632J-1.239

G1X14.947

G0Z5.000

G0X0.000Y0.000

G0Z5.000

G0X0.000Y0.000

M30

c语言程序:

struct coord

{

double x;

double y;

double z;

double i;

double j;

};//g代码参数结构体

struct coord cord[20];

void get012()//读取g代码中012

{

int h=1;

int m;

double centerx,centery,R,theta,theta0,deltatheta;

if(is2!=0)h=is2;

for(m=0;m0)theta=3/2.*PI;

else

if(cord[m+1].i==0&&cord[m+1].j<0)theta=1/2.*PI;

else if(cord[m+1].i>0)

theta=atan(cord[m+1].j/cord[m+1].i)+PI;

else if(cord[m+1].i<0&&cord[m+1].j>0)

theta=atan(cord[m+1].j/cord[m+1].i)+2*PI;

else if(cord[m+1].i<0&&(cord[m+1].j<0||cord[m+1].j==0))

theta=atan(cord[m+1].j/cord[m+1].i);

if(centerx==cord[m+1].x&&centery>cord[m+1].y)theta0=3/2.*PI;

else if(centerx==cord[m+1].x&&centerycord[m+1].x)

theta0=atan((cord[m+1].y-centery)/(cord[m+1].x-centerx))+PI;

else if(centerxcord[m+1].y||centery==cord[m+1].y))

theta0=atan((cord[m+1].y-centery)/(cord[m+1].x-centerx))+2*PI;

deltatheta=theta0-theta;

if(deltatheta>0)deltatheta=deltatheta-2*PI;

CircleRunin(R*200,theta,deltatheta);//圆弧插补函数

cord[0].x=cord[m+1].x;

cord[0].y=cord[m+1].y;

break;

case '3': printf(" ncircle:\n");

centerx=cord[0].x+cord[m+1].i;

centery=cord[0].y+cord[m+1].j;

R=sqrt(cord[m+1].i*cord[m+1].i+cord[m+1].j*cord[m+1].j);

if(cord[m+1].i==0&&cord[m+1].j>0)theta=3/2.*PI;

else if(cord[m+1].i==0&&cord[m+1].j<0)theta=1/2.*PI;

else if(cord[m+1].i>0)

theta=atan(cord[m+1].j/cord[m+1].i)+PI;

else if(cord[m+1].i<0&&cord[m+1].j>0)

theta=atan(cord[m+1].j/cord[m+1].i)+2*PI;

else if(cord[m+1].i<0&&(cord[m+1].j<0||cord[m+1].j==0))

theta=atan(cord[m+1].j/cord[m+1].i);

if(centerx==cord[m+1].x&&centery>cord[m+1].y)theta0=3/2.*PI;

else if(centerx==cord[m+1].x&&centerycord[m+1].x)

theta0=atan((cord[m+1].y-centery)/(cord[m+1].x-centerx))+PI;

else if(centerxcord[m+1].y||centery==cord[m+1].y))

theta0=atan((cord[m+1].y-centery)/(cord[m+1].x-centerx))+2*PI;

deltatheta=theta0-theta;

if(deltatheta<0)deltatheta=deltatheta+2*PI;

CircleRunin(R*200,theta,deltatheta);//圆弧插补函数

cord[0].x=cord[m+1].x;

cord[0].y=cord[m+1].y;

break;

default:break;

}

if(cord[m+1].z>cord[0].z)//z??????z???

{

raisez();//提刀函数

//printf("raise z:%f\n",cord[1].z);

cord[0].z=cord[m+1].z;

}

if(cord[m+1].z

g代码解释程序 java_解析g代码c语言程序相关推荐

  1. c语言gga字符串校验和代码,NMEA-0183协议解析(示例代码)

    NMEA-0183 NMEA 0183是美国国家海洋电子协会(National Marine Electronics Association )为海用电子设备制定的标准格式.目前业已成了GPS导航设备 ...

  2. 吴章金: 实例解析 Linux C 语言程序之变量类型

    license: "cc-by-nc-nd-4.0" "本文从编译.二进制程序文件和运行角度逐级解析了 Linux C 语言程序中几种变量类型" 吴章金老师&l ...

  3. java中输出a个b_下面代码输出什么 ( ) var a=0,b=0; for(;a10,b7;a++,b++){ g=a+b; } console.log(g);_学小易找答案...

    [单选题]Java Script 函数说法正确的是 () [单选题]阅读下面的 Javascript 代码 , 输出结果正确的是( ) var i=0; for(i=0;i<=5;i++){ i ...

  4. 使用 markdown-it 解析 markdown 代码(读 VuePress 三)

    前言 在此系列文章的第一篇,我们介绍了 Vuepress 如何让 Markdown 支持 Vue 组件的,但没有提到非 Vue 组件的其他部分如何被解析. 今天,我们就来看看 Vuepress 是如何 ...

  5. YOLOV5dataset.py代码注释与解析

    YOLOv5代码注释版更新啦,注释的是最近的2021.07.14的版本,且注释更全 github: https://github.com/Laughing-q/yolov5_annotations Y ...

  6. NENU - 字符串处理课后作业(问题A~问题H) 解析+参考代码(含有C++中的string函数库)

    目录 问题 A: 4201 凯撒密码 题目描述 解析 参考代码 问题 B: 4202 子串 题目描述 解析 参考代码 问题 C: 4203 IBM减一 题目描述 解析 参考代码 问题 D: 4204 ...

  7. json在线解析功能代码实现

    文章目录 json在线解析功能代码实现 jsp部分 js部分 css部分 最终效果 json在线解析功能代码实现 当在查看一些原始报文数据时,需要美化展示原始报文json,这时需要使用css进行相应排 ...

  8. SM2加解密代码及算法解析

    一.前言 关于国密算法SM2加解密的标准可参考国标文件: http://c.gb688.cn/bzgk/gb/showGb?type=online&hcno=370AF152CB5CA4A37 ...

  9. 【深度学习】梯度和方向导数概念解析(代码基于Pytorch实现)

    [深度学习]梯度和方向导数概念解析(代码基于Pytorch实现) 文章目录 1 方向导数 2 梯度 3 自动求导实现 4 梯度下降4.1 概述4.2 小批量梯度下降 5 总结 1 方向导数 方向导数的 ...

最新文章

  1. mysql高可用之MMM
  2. 百度宣布:搜索业务总裁向海龙离职,另回购10亿美元股份
  3. ffmpeg 命令_ffmpeg常用命令行集锦
  4. 使用ASP.NET Atlas开发随输入内容自动调整行数的textarea
  5. python基础语法第10关作业-Python基础作业一
  6. laravel Excel导入导出
  7. resultmap拿不到数据_阿里巴巴国际站每日电商运营工作数据表格
  8. (65)SPI外设驱动用户接收模块(四)(第13天)
  9. 【转】python os.popen 超时问题
  10. 实时计算之storm
  11. 类似pyinstaller_pyinstaller安装与使用——那些我踩过的坑
  12. linux通用内核,重新编译内核 - Linux通用系统优化大全_Linux教程_Linux公社-Linux系统门户网站...
  13. 适配器模式之享元模式
  14. 如何解释准确率、精确率与召回率?
  15. 双色球笔记3--输出所有中奖号码
  16. WinForm引用ActiveX组件,对Com组件的学
  17. Tableau考试指南部分试题(用步骤,过程,考试内容说明)
  18. CATIA V5R20电气线束设计从入门到精通视频教程
  19. Virgo与Maven整合开发环境搭建(四)
  20. Unity3D实用脚本(二)—— 检查场景中用到的资源

热门文章

  1. 联想服务器带外管理怎么进系统,管理 Internet Explorer 中的加载项
  2. 优秀计算机基础微课案例,大学计算机基础——大学微课实用案例教学
  3. automagica 调用windows画图以及登录qq
  4. html img素材,html使用img标签和背景图片之间的区别
  5. LeetCode - Solved Algorithms
  6. 仿商城商品生成分享海报图片和识别图中二维码并跳转商品详情页
  7. SQLAlchemy中的Django风格的数据库路由器
  8. 2023 年 5 大人工智能 (AI) 趋势
  9. Cerebral Cortex:岛叶二分法在情绪面孔内隐检测中的应用
  10. 查看linux最大的sftp连接数,Linux查看某个端口的连接数的方法