g代码解释程序 java_解析g代码c语言程序
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&¢ery>cord[m+1].y)theta0=3/2.*PI;
else if(centerx==cord[m+1].x&¢erycord[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&¢ery>cord[m+1].y)theta0=3/2.*PI;
else if(centerx==cord[m+1].x&¢erycord[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语言程序相关推荐
- c语言gga字符串校验和代码,NMEA-0183协议解析(示例代码)
NMEA-0183 NMEA 0183是美国国家海洋电子协会(National Marine Electronics Association )为海用电子设备制定的标准格式.目前业已成了GPS导航设备 ...
- 吴章金: 实例解析 Linux C 语言程序之变量类型
license: "cc-by-nc-nd-4.0" "本文从编译.二进制程序文件和运行角度逐级解析了 Linux C 语言程序中几种变量类型" 吴章金老师&l ...
- 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 ...
- 使用 markdown-it 解析 markdown 代码(读 VuePress 三)
前言 在此系列文章的第一篇,我们介绍了 Vuepress 如何让 Markdown 支持 Vue 组件的,但没有提到非 Vue 组件的其他部分如何被解析. 今天,我们就来看看 Vuepress 是如何 ...
- YOLOV5dataset.py代码注释与解析
YOLOv5代码注释版更新啦,注释的是最近的2021.07.14的版本,且注释更全 github: https://github.com/Laughing-q/yolov5_annotations Y ...
- NENU - 字符串处理课后作业(问题A~问题H) 解析+参考代码(含有C++中的string函数库)
目录 问题 A: 4201 凯撒密码 题目描述 解析 参考代码 问题 B: 4202 子串 题目描述 解析 参考代码 问题 C: 4203 IBM减一 题目描述 解析 参考代码 问题 D: 4204 ...
- json在线解析功能代码实现
文章目录 json在线解析功能代码实现 jsp部分 js部分 css部分 最终效果 json在线解析功能代码实现 当在查看一些原始报文数据时,需要美化展示原始报文json,这时需要使用css进行相应排 ...
- SM2加解密代码及算法解析
一.前言 关于国密算法SM2加解密的标准可参考国标文件: http://c.gb688.cn/bzgk/gb/showGb?type=online&hcno=370AF152CB5CA4A37 ...
- 【深度学习】梯度和方向导数概念解析(代码基于Pytorch实现)
[深度学习]梯度和方向导数概念解析(代码基于Pytorch实现) 文章目录 1 方向导数 2 梯度 3 自动求导实现 4 梯度下降4.1 概述4.2 小批量梯度下降 5 总结 1 方向导数 方向导数的 ...
最新文章
- mysql高可用之MMM
- 百度宣布:搜索业务总裁向海龙离职,另回购10亿美元股份
- ffmpeg 命令_ffmpeg常用命令行集锦
- 使用ASP.NET Atlas开发随输入内容自动调整行数的textarea
- python基础语法第10关作业-Python基础作业一
- laravel Excel导入导出
- resultmap拿不到数据_阿里巴巴国际站每日电商运营工作数据表格
- (65)SPI外设驱动用户接收模块(四)(第13天)
- 【转】python os.popen 超时问题
- 实时计算之storm
- 类似pyinstaller_pyinstaller安装与使用——那些我踩过的坑
- linux通用内核,重新编译内核 - Linux通用系统优化大全_Linux教程_Linux公社-Linux系统门户网站...
- 适配器模式之享元模式
- 如何解释准确率、精确率与召回率?
- 双色球笔记3--输出所有中奖号码
- WinForm引用ActiveX组件,对Com组件的学
- Tableau考试指南部分试题(用步骤,过程,考试内容说明)
- CATIA V5R20电气线束设计从入门到精通视频教程
- Virgo与Maven整合开发环境搭建(四)
- Unity3D实用脚本(二)—— 检查场景中用到的资源
热门文章
- 联想服务器带外管理怎么进系统,管理 Internet Explorer 中的加载项
- 优秀计算机基础微课案例,大学计算机基础——大学微课实用案例教学
- automagica 调用windows画图以及登录qq
- html img素材,html使用img标签和背景图片之间的区别
- LeetCode - Solved Algorithms
- 仿商城商品生成分享海报图片和识别图中二维码并跳转商品详情页
- SQLAlchemy中的Django风格的数据库路由器
- 2023 年 5 大人工智能 (AI) 趋势
- Cerebral Cortex:岛叶二分法在情绪面孔内隐检测中的应用
- 查看linux最大的sftp连接数,Linux查看某个端口的连接数的方法