学校工作总结 教学工作总结 教师工作总结 班主任工作总结 教学心得体会 师德师风建设 教学试卷 教案模板 教学设计 教学计划 教学评语 教学课件 学校管理
首页 > 教学资源 > 教案模板

编程游戏教案模板(共5篇)

作者:aqin66时间:2020-08-10 下载本文

第1篇:游戏编程感想

游戏编程感想

班 53080907 周杰

首先,通过游戏编程课程的学习,我了解了怎么用我们所学过的知识进行游戏编程,不过对于第一开始应该用什么语言,你有许多种选择,包括Basic、Pascal、C、C++、Java等等,而且在网上关于游戏制作新手应该选择哪门语言的讨论也很多。推荐选择C和C++做为开始写游戏的语言。一些人可能会说这两种语言对于没有编程经验的新手来说有点难度,我不同意这种说法,因为我就是刚开始的也是选择这两种语言。另外C/C++在今天是两种应用范围最广的语言,因此你才会更有可能得到更多的编程和学习资源以及其他人的帮助。

其次,如果要进行游戏编程,我们要对我们在大学期间学过的相关知识有个大概的了解,游戏编程设计到经济学,统筹学,物理学,机器人学,生物学,心理学,人工智能,计算机图形学,多媒体技术,虚拟现实等等。而且它也是一个团队的合作才能完成的工作,它所涉及的工作有策划、程序、美术、音乐等。只有每个方面的工作相互配合达到完美,所设计出来的游戏才是一款经典的游戏作品。

第三,作为游戏编程,它所设计的不单单是一款游戏,如果把它想成仅仅工人们娱乐消遣的工具,那就把游戏定义的有所狭隘。游戏只是人们日常生活中所能接触到的一部分应用,它更可以应用虚拟现实的技术把这个产品应用到人们生活的方方面面,比如军事模拟训练,仿真模拟等等。

最后,不要仅仅是积累知识,用它。除非你用它们,否则你不能真正的知道和理解它们。用你所学的东西制作一个小的Demo。认真的去做书里面每个章节后面留的练习。

尽量玩更多的游戏。这样做可以给你许多灵感并能帮助你把游戏做的更好一些。这也可以给你枯燥的编程工作减轻一些痛苦。

帮助别人。在教别人或者给别人讲解的过程中你将会更加的了解自己,学到很多东西。有始有终。不要陷入“我知道我能完成这个游戏,但是我有更好的方法,因此我要继续想想我的那个方法。”如果你能完完整整的写完一个你从一开始要做的游戏,你将会学到非常非常多的东西,而且你也有东西可以证明你不是一个把什么东西都停留在嘴巴上的人。在你成为一个有经验的游戏程序员之前,请把你要做的游戏更简单更容易一些,不要贸然的去尝试写一些比较大或者很复杂的游戏。

第2篇:游戏编程入门

游戏编程入门

经常有人问我,没有编程经验的人该如何开始开发游戏。在此之前,我总是一个个的尽力回答。然而,后来提相同问题的人数增长到难以处理的地步。我决定,是时候把我所有的建议写成文章,作为一个大概。

这篇文章是针对那些想要开发自己游戏,但几乎没有编程经验的人。事实上,我假设读者没有任何编程经验。我主要讨论游戏开发的程序和设计方面,而不是艺术性。我也不准备讲述如何进入游戏行业(这方面已经有足够的资料),而只是让你逐步的开始开发自己的游戏。最后,我所指出的这条道路也并不能作为唯一的,或是最好的路径来学习开发游戏,但至少对我和一些人很有用。选择一门语言

你要做的第一件事就是选择一门开发语言。你有很多选择,包括

Basic,Pascal,C,C++,Java,等等。也经常会有人争论对于初学者那一门语言是最好的。对于这一系列流行语言的讨论,你可以参看John Hattan的著作,What Language Do I Use?(我用什么语言?)

我的建议是以C和C++开始。有些人会说这些语言对初学者来说太高级了,但因为我自己就是学C++,我并不同意这一说法。而且,C/C++是当今使用最广泛的语言(译者认为应该是汉语。。),所以你可以找到大量学习资料和帮助。你先学C或C++都无所谓,因为只要学了一个,再学另外一个就很容易。但是,如果你先学C++,请保证在学习面向对象编程之前能理解和使用过程编程(等编程熟练再去学习类)。(译者:C是过程性语言,C++是面向对象语言)

如果你开始学习C/C++,发现太难,那再学一个简单一点的也没关系,比如Basic或Pascal。但是我真的认为,如果你坚持努力,而且有好的资料,学C/C++应该没有太大问题。

你的下一个问题可能会是:“我该怎么学C/C++?”我很高兴你这样问。最好的办法是上课。有老师可以回答你的问题,帮助你产生很大进步,编程练习作业也可以保证你能用到所学的东西。

如果你不觉得上课是个好主意,那最好的办法就是买一些好书。不要花太多时间去选一本什么“超级宝典”或“万用全书”,因为你最终可能会买几本。我建议你去一家书店,然后拿几本比较入眼的C或C++书看,直到找到一本或几本你能看懂,并且可以拿来学习的。同时,你可能会想要一些更深入的,或者一些材料,但是你一旦对于这门语言有了一些了解,我相信你应该有自己更好的选择。在这里,我有必要花一些时间,来说我看到很多初学者所关心的一个事情,特别是年轻人:没有钱买书和其他东西。首先,有很多免费资源可以利用,图书馆,Macmillan Computer Publishing(/personal),有成千上百的编程书籍。但是如果你真的想要成为一个好的程序员,还是应该投入一部分资金。应当想方设法(合法的)帮助你弄到一些钱。

网上也有很多C/C++的学习指南。但是我认为那只能作为补充而不是你自学的主要资源。

选择正确的编译器

你写的程序,或者代码,是以文本方式储存的,你甚至可以用记事本写C/C++程序。但是总需要有东西把他们转换成为可执行文件。对于C和C++,那就是编译器。

可用的编译器有好多种,包括很多免费的。选择一款自己适合的编译器很重要,免费的编译器就有这样的好处,你可以把它们试个遍,然后从中选择自己最喜欢的。然而,免费编译器比起商业版,可能会缺失一些功能和大部分服务。幸运的是,多数商业版编译器也兼售介绍版或学习版,这要便宜得多,通常功能却不见得少,唯一的限制是你不能发布用它编译的程序(短时间内你也根本用不着)。

总之,选择编译器取决于你能花多少钱,用什么操作系统,和为什么平台开发。如果要为windows开发,我强烈推荐Microsoft Visual C++。他强大的开发环境使得很多事做起来更方便,毫无疑问没有其他编译器更适合开发windows应用程序。如果你是个学生,你还可以折价买到。(译者:爽!)如果你在DOS平台开发,你最好的选择可能是党建GPP,免费的哦~。

选择开发平台

尽管最终你很可能为好几个平台开发,总要先选择一个来学。当你在学这门语言,还没有接触到图像的时候,你可能会想使用非图形用户界面的操作系统,比如DOS,Unix.这样可以避免接触高层,比如windows编程,让你集中精力学习语言本身。

一旦你做好开发游戏的准备,那么,应该考虑是否改变平台,让我们来看看每个选项的特征。

windows:如果你想成为游戏行业的专家,或者如果你想让许多人来玩你开发的游戏,那么,这就是你要选择的平台。因为多数你的用户使用windows,而且现在我也看不出有什么改变的迹象。当今大多数的windows游戏都是由一种你可能听说过技术---DirectX---开发的。你可以DirextX这个库直接访问硬件,这意味着你可以开发高性能的游戏。

DOS:DOS过去是占统治地位的游戏平台,但是已经一去不复返了。尽管可能有一些特殊爱好者还在为DOS开发游戏,现在没有一个为DOS开发的商业游戏,他也将继续衰落,直到微软不再支持。如果你只是想开发游戏,还是不要选择DOS,如果你非要这么做,也不要太久。记住:由于存在大量DOS游戏开发的书,可能还有人辩护从这些书中学习DOS游戏开发。但是,windows游戏开发的书越来越多,那些辩解也变得越来越无力。

Linux:Linux是Unix的一种,由于很多原因后来变得流行,包括稳定性,价格,和反微软情绪。尽管Linux用户还是相当少,但是围绕着他的热情和不断增长的市场潜力使其也成为不错的选择。

Macintosh:MAC有大量忠实粉丝并不能说明什么,几乎每一个和我讨论的MAC狂热者都需要更多更好的游戏。我没有见过多少MAC游戏开发资源,但我相信还是有的,因此这也是一个选择。

consoles:console(就是PS,N64,DC等等)的游戏市场十分巨大,当然

console游戏开发的前景也不错。然而以非商业的形式开发console游戏,出于各种原因,在现在似乎行不通。如果你开发console,很可能是在被商业游戏开发组雇用之后。

开始进入主题

现在是时候讨论开发游戏了。简单起见,我假设你选择用C/C++在windows平台开发,可能你选择别的,但大多数我说的还是有用的。

首先,甚至在你打算开始开发游戏之前,你必须很好掌握C和C++.你应该懂指针,数组,结构体,函数,可能还有类。如果你精通他们,就可以开始做游戏了。

这篇文章可能不能教会你所有关于开发游戏的东西。幸运的是,也没有这个必要。这方面有很多书,网上也有很多指南。GameDev.net应该有所有你想要的东西,这里我建议你怎么开始:

找一本或几本书。对于windows游戏开发初学者,Tricks of the Windows Game Programming Gurus是个完美的开始。除此之外,还有许多好书.读透这些书,试试所有的例子,不懂得部分多读几遍。

网上指南作为补充。除了弄清书上读到的,他们还涉及一些书上没有谈及的主题。

向专家寻求帮助。如果你不能在书上或指南找到问题的答案,好好利用我们的论坛和聊天室。那里有好多专家愿意帮助别人。

这并不是要你按照顺序执行的,而是可以同时并且不断的重复执行。

光学习还是不够的,你必须运用你所学到的。从一个小游戏开始,然后在这个基础上前进。你可以看一下Geoff Howlands 的著作: How do I Make Games?

A Path to Game Development.开始,自己独立工作。不要急着加入团队,那样只会减缓学习过程。而且一旦你有了自己的几个游戏,你可以为团队做出更大的贡献。

还有关于书,你应该不仅仅看游戏开发的书。为了能够开发出你看到商店出售的游戏,你应该钻研比大多数游戏开发书籍更高级的一些主题。有一些可以在网上找到,但你也应该选一些图形学,人工智能,网络,物理学等方面的书。计算机科学学位看来唾手可得,但因为你被迫上这些课的时候可能认为他们和游戏开发无关----你错了!

包装

这里有一些提示很有用

不要只积累知识,用它:你永远不会知道会理解一些东西知道你是用他们。用你学的东西作些演示。做作书上的练习。

经常玩游戏:这样做会使你做出更好的游戏。而且可以减轻编程的枯燥。帮助别人:能帮别人的地方尽量帮助别人,教别人的过程中自己会学到更多。有始有终:不要有这样的想法“我能够完成这个游戏了,但是我又有一个新的想法,那就直接做下一个。”你可以学得更多如果你完成他,你也可以用事实证明你不是只会空谈。所以,尽量不要做很大很复杂的游戏,直到你有了一定经验。

开始吧!你现在可以开始准备QUAKE4了。可能你不是不是很了解,但是至少应该知道如何开始这条道路,找多些资料,加上多年努力工作,他一定会实现!

第3篇:编程教案

常用编程指令的应用

车削加工编程一般包含X和Z坐标运动及绕Z轴旋转的转角坐标C。

(1)快速定位(G00或G0)刀具以点位控制方式从当前所在位置快速移动到指令给出的目标位置。

指令格式:G00 X(U)Z(W);(2)直线插补(G01或G1)

指令格式:G01 X(U)Z(W)F ;

图1 快速定位 图2 直线插补

G00 X40.0 Z56.0; G01 X40.0 Z20.1 F0.2;

/绝对坐标,直径编程; /绝对坐标,直径编程,切削进给率0.2mm/r G00 U-60.0 W-30 G01 U20.0 W-25.9 F0.2;

/增量坐标,直径编程 /增量坐标,直径编程,切削进给率0.2mm/r(3)圆弧插补(G02或G2,G03或G3)1)指令格式: G02 X(U)_Z(W)_I_K_F_ ; G02 X(U)Z(W)R F ;

G03 X(U)_Z(W)_I_K_F_ ; G03 X(U)Z(W)R F ;

2)指令功能: 3)指令说明: ①G02为顺时针圆弧插补指令,G03为逆时针圆弧插补指令。圆弧的顺、逆方向判断见图3左图,朝着与圆弧所在平面相垂直的坐标轴的负方向看,顺时针为G02,逆时针为G03,图3右图分别表示了车床前置刀架和后置刀架对圆弧顺与逆方向的判断;

图3 圆弧的顺逆方向

②如图4,采用绝对坐标编程,X、Z为圆弧终点坐标值;采用增量坐标编程,U、W为圆弧终点相对圆弧起点的坐标增量,R是圆弧半径,当圆弧所对圆心角为0°~180°时,R取正值;当圆心角为180°~360°时,R取负值。I、K为 圆心在X、Z轴方向上相对圆弧起点的坐标增量(用半径值表示),I、K为零时可以省略。

图4 圆弧绝对坐标,相对坐标

图5 圆弧插补

G02 X50.0 Z30.0 I25.0 F0.3; G03 X87.98 Z50.0 I-30.0 K-40.0 F0.3;

G02 U20.0 W-20.0 I25.0 F0.3; /绝对坐标,直径编程

G02 X50.Z30.0 R25.0 F0.3; G03 U37.98 W-30.0 I-30.0 K-40.0 F0.3; G02 U20.0 W-20.0 R25.0 F0.3; /相对坐标,直径编程

(4)主轴转速设置(S)车床主轴的转速(r/min)为:

式中υ为圆周切削速度,单位缺省为m/min、D为工件的外径,单位为mm。

例如,工件的外径为200mm,要求的切削速度为300m/min,经计算可得

因此主轴转速应为478r/min,表示为S478。(5)主轴速度控制指令

数控车削加工时,按需要可以设置恒切削速度(例如,为保证车削后工件的表面粗糙度一致,应设置恒切削速度),车削过程中数控系统根据车削时工件不同位置处的直径计算主轴的转速。

恒切削速度设置方法如下:G96 S ; 其中S后面数字的单位为r/min。

设置恒切削速度后,如果不需要时可以取消,其方式如下:G97 S ; 其中S后面数字的单位为r/min。

在设置恒切削速度后,由于主轴的转速在工件不同截面上是变化的,为防止主轴转速过高而发生危险,在设置恒切削速度前,可以将主轴最高转速设置在某一个最高值。切削过程中当执行恒切削速度时,主轴最高转速将被限制在这个最高值。设置方法如下:G50 S ; 其中S的单位为r/min。

图6 主轴速度控制

例如:在刀具T01切削外形时用G96设置恒切削速度为200m/min,而在钻头T02钻中心孔时用G97取消恒切削速度,并设置主轴转速为1100r/min。这两部分的程序头如下:

G50 S2500 T0101 M08; /G50限定最高主轴转速为2500r/min;

G96 S200 M03; / G96设置恒切削速度为200m/min,主轴顺时针转动 G00 X48.0 Z3.0; / 快速走到点(48.0,3.0)G01 Z-27.1 F0.3; /车削外形 G00 Ul.0 Z3.0; /快速退回 T0202; /调02号刀具

G97 Sll00 M03; /G97取消恒切削速度,设置主轴转速为ll00r/min G00 X0.0 Z5.0 M08; /快速走到点(0,5.0),冷却液打开 G01 Z-5.0 F0.12; /钻中心孔(6)进给率和进给速度设置指令

在数控车削中有两种切削进给模式设置方法,即进给率(每转进给模式)和进给速度(每分钟进给模式)。

1)进给率,单位为mm/r,其指令为: G99; / 进给率转换指令,G01 X Z F ; / F的单位为mm/r 2)进给速度,单位为mm/min,其指令为: G98; / 进给速度转换指令

G01 X Z F ; / F的单位为mm/min

图7 进给率和进给速度

a:G99 G01 Z-27.1 F0.3;b:G98 G01 Z-10.0 F80;表示进给率为0.3mm/r 表示进给速度为80mm/min CNC系统缺省进给模式是进给率,即每转进给模式。(7)工件原点设置

工件坐标系的原点有两种设置方法。

1)用G50指令进行工件原点设置,分以下两种设置情况:

图8 工件原点设置 ①坐标原点设置在卡盘端面

如图8a所示,这种情况下z坐标是正值。工件原点设置在卡盘端面:

G50 X85.Z210.;/* 将刀尖当前位置的坐标值定为工件坐标系中的一点(85.,210.)。②坐标原点设置在零件右端面

如图8b所示,这种情况下Z坐标值是负值。工件原点设置在工件右端面:G50 X85.0 Z90.0; 则刀尖当前位置即为工件坐标系原点。(8)端面及外圆车削加工

端面及外圆的车削加工要用到插补指令G01。

为正确地编写数控程序,应在编写程序前根据工件的情况选择工件原点。确定好工件原点后,还必须确定刀具的起始点。

编程时还应考虑车削外圆的始点和端面车削的始点,这两点的确定应结合考虑工件的毛坯情况。如果毛坯余量较大,应进行多次粗车,最后进行一次精车,因而每次的车削始点都不相同。

图9 确定车削原点

a)工件原点在左端面时 b)工件原点在右端面时 1)工件原点在左端面 o0001 /* 程序编号o0001 N0 G50 X85.0 Z210.0; /* 设置工件原点在左端面 N1 G30 U0 W0; /* 返回第二参考点

N2 G50 S1500 T0101 M08; /* 限制最高主轴转速为1500r/min,调01号刀具,M08为打开冷却液

N3 G96 S200 M03; /* 指定恒切削速度为200m/min N4 G00 X40.4 Z153.0; /* 快速走到外圆粗车始点 N5 G01 Z40.2 F0.3; /* 以进给率0.3mm/r车削外圆 N6 X60.4; /* 台阶车削

N7 Z20.0; /*φ60.4mm处长度为20.0mm的一段外圆 N8 G00 X62.0 Z150.2; /* 刀具快速退到点(62.0,150.2)N9 X41.0; /*刀具快速走到点(41.0,150.2)N10 G01 X-1.6; /* 车削右端面

N1l G00 Zl52.0; /* 刀具快速退到点(-1.6,152.0)N12 G30 U0 W0; /* 直接回第二参考点以进行换刀 N13(Finishing); /*精车开始,括号为程序说明

N14 G50 S1500 T0202; /*限制最高主轴转速为1500r/min,调02号刀具 N15 G96 S250; /* 指定恒切削速度为250m/min N16 G00 X40.0 Z153.0 ;/*快速走到外圆精车始点(40.0,153)N17 G42 G01 Z151.0 F0.15;/*调刀尖半径补偿,右偏 N18 Z40.0; /*φ40.4mm一段外圆的精车 N19 X60.0; /*台阶精车

N20 Z20.0; /*φ60.0mm处长度为20.0mm外圆的精车 N21 G40 G00 X62.0 Z150.0; /*取消刀补 N22 X41.0; /*刀具快速走到点(41.0,150.0)N23 G41 G01 X40.0; /*调刀尖半径补偿,左偏 N24 G01 X-1.6; /*精车右端面

N25 G40 G00 Zl52.0 M09; /*取消刀补,切削液关

N26 G30 U0 W0 M05; /*返回第二参考点,主轴停止 N27 M30; /*程序结束 2)工件原点在右端面:工件原点设置在右端面与设置在左端面的区别仅在于Z坐标为负值,程序编写过程完全相同。O0002 ; /* 程序编号

N0 G50 X85.0 Z90.0 /* 设置工件原点在右端面 N2 G30 U0 W0; /* 返回第二参考点

N4 G50 S1500 T0101 M08; /* 限制最高主轴转速 N6 G96 S200 M03; /* 指定恒切削速度为 200m/min,主轴逆时针旋转

N8 G00 X30.4 Z3.0; /*快速走到点(30.4,3.0)N10 G01 W-33.0 F0.3; /*以进给率0.3mm/r粗车φ30.4处外圆 N12 U30.0 W-50.0; /*粗车锥面

N14 W-10.0; /*粗车φ60.4mm处长度为10的一段外圆 N16 G00 Ul.6 W90.2;/*刀具快速走到点(62.0,0.2)N18 U-31.0; /*刀具快速走到点(3l,0.2)N20 G01 U-32.6; /*粗车端面

N22 G00 W2.0; /*刀具快速走到点(-1.6,2)N24 G30 U0 W0; /*返回第二参考点 N26(Finishing); /*精车开始

N28 G50 S1500 T0202;/*设置主轴最高转速1500r/min,调2号刀具 N30 G96 S250; /* 指定恒切削速度为250m/min N32 G00 X30.0 Z3.0;/*刀具快速走到精车始点(30.0,3.0)N34 G42 G01 W-2.0 F0.15;/*调刀尖半径补偿,右偏 N36 W-31.0; /*精车ф30.4mm处外圆 N38 U30.0 W-50.0; /*精车锥面

N40 W-10.0; /*精车ф60.0mm处外圆

N42 G40 G00 U2.0 W90.0; /*取消刀补,刀具快速走到点(62,0.0)N44 U-31.0; /*刀具快速走到点(31,0.0)N46 G41 G01 U-1.0; /*调刀尖半径补偿,左偏

N48 G01 U-32.6; /*精车端面

N50 G40 G00 W2.0 M09; /*取消刀补,刀具快速走到点(1.6,2.0)N52 G30 U0 W0 M30; /*返回参考点,程序结束 实例:

如图10所示零件

图10 数控车削综合编程实例

N0050 G01 X32 Z0;N0110 G02 X16 Z-15 R2;N0060 G01 X-0.5;N0120 G01 X20;

N0070 G00 Z1;N0130 G01 Z35;N0080 G00 X10;N0140 X26;N0090 G01 X12 Z1;N0150 Z50;N0100 G01 X12 Z1;N0160 X32;为1500r/min,调1号刀具,M08为打开冷却液在这种情况下,如果设置指令写成: G50 X0 Z0;

G0

2、G03指令表示刀具以F进给速度从圆弧起点向圆弧终点进行圆弧插补。刀具以一定的进给速度从当前所在位置沿直线移动到指令给出的目标位置。

2.循环加工指令

当车削加工余量较大,需要多次进刀切削加工时,可采用循环指令编写加工程序,这样可减少程序段的数量,缩短编程时间和提高数控机床工作效率。根据刀具切削加工的循环路线不同,循环指令可分为单一固定循环指令和多重复合循环指令。(1)单一固定循环指令

对于加工几何形状简单、刀具走刀路线单一的工件,可采用固定循环指令编程,即只需用一条指令、一个程序段完成刀具的多步动作。固定循环指令中刀具的运动分四步:进刀、切削、退刀与返回。

1)外圆切削循环指令(G90)

指令格式 : G90 X(U)_ Z(W)_ R_ F_ 指令功能: 实现外圆切削循环和锥面切削循环。

刀具从循环起点按图11与图12所示走刀路线,最后返回到循环起点,图中虚线表示按R快速移动,实线表示按F指定的工件进给速度移动。

图11 外圆切削循环

图12 锥面切削循环

指令说明: ① X、Z 表示切削终点坐标值;

② U、W 表示切削终点相对循环起点的坐标分量;

③ R 表示切削始点与切削终点在X轴方向的坐标增量(半径值),外圆切削循环时R为零,可省略;

④F表示进给速度。例题 如图13所示,运用外圆切削循环指令编程。

G90 X40 Z20 F30

A-B-C-D-A X30

A-E-F-D-A X20

A-G-H-D-A

图13 外圆切削循环例题

例题 如图14所示,运用锥面切削循环指令编程。

G90 X40 Z20 R-5 F30 A-B-C-D-A X30

A-E-F-D-A X20

A-G-H-D-A

图14 锥面切削循环例题

2)端面切削循环指令(G94)

指令格式: G94 X(U)_ Z(W)_ R_ F_ 指令功能: 实现端面切削循环和带锥度的端面切削循环。

刀具从循环起点,按图15与图16所示走刀路线,最后返回到循环起点,图中虚线表示按R快速移动,实线按F指定的进给速度移动。

图15 端面切削循环 图16 带锥度的端面切削循环

① X、Z表示端平面切削终点坐标值;

② U、W表示端面切削终点相对循环起点的坐标分量;

③ R 表示端面切削始点至切削终点位移在Z轴方向的坐标增量,端面切削循环时R为零,可省略;

④ F表示进给速度。

例题: 如图17所示,运用端面切削循环指令编程。

G94 X20 Z16 F30

A-B-C-D-A Z13

A-E-F-D-A Z10

A-G-H-D-A

图17 端面切削循环例题 图18 带锥度的端面切削循环例题

例题: 如图18所示,运用带锥度端面切削循环指令编程。

G94 X20 Z34 R-4 F30

A-B-C-D-A Z32

A-E-F-D-A Z29

A-G-H-D-A(2)多重复合循环指令(G70——G76)运用这组G代码,可以加工形状较复杂的零件,编程时只须指定精加工路线、径向轴向精车留量和粗加工背吃刀量,系统会自动计算出粗加工路线和加工次数,因此编程效率更高。

在这组指令中,G71、G7

2、G73是粗车加工指令,G70是G7

1、G7

2、G73粗加工后的精加工指令,G74 是深孔钻削固定循环指令,G75 是切槽固定循环指令,G76是螺纹加工固定循环指令。

1)外圆粗加工复合循环(G71)指令格式 : G71 UΔd Re G71 Pns Qnf UΔu WΔw Ff Ss Tt

指令功能: 切除棒料毛坯大部分加工余量,切削是沿平行Z轴方向进行,如图19所示。A为循环起点,A-A'-B为精加工路线。

图19 外圆粗加工复合循环 图20 端面粗加工复合循环 指令说明:①Δd表示每次切削深度(半径值),无正负号; ② e表示退刀量(半径值),无正负号;

③ ns表示精加工路线第一个程序段的顺序号; ④ nf表示精加工路线最后一个程序段的顺序号;

⑤ Δu表示X方向的精加工余量,直径值;

例题 :如图21所示,运用外圆粗加工循环指令编程。

图21 外圆粗加工复合循环例题 N010 G50 X150 Z100 N020 G00 X41 Z0 N030 G71 U2 R1 N040 G71 P50 Q120 U0.5 W0.2 F100 N050 G01 X0 Z0 N060 G03 X11 W-5.5 R5.5 N070 G01 W-10 N080 X17 W-10 N090 W-15 N100 G02 X29 W-7.348 R7.5 N110 G01 W-12.652 N120 X41 N130 G70 P50 Q120 F30

2)端面粗加工复合循环(G72)指令格式: G72 WΔd Re

G72 Pns Qnf UΔu WΔw Ff Ss Tt

指令功能: 除切削是沿平行X轴方向进行外,该指令功能与G71相同,如图20所示。指令说明 :

Δd、e、ns、nf、Δu、Δw的含义与G71相同。例题:如图22,运用端面粗加工循环指令编程。

图22 端面粗加工复合循环例题 图23 固定形状切削复合循环 N010 G50 X150 Z100 N020 G00 X41 Z1 N030 G72 W1 R1 N040 G72 P50 Q80 U0.1 W0.2 F100 N050 G00 X41 Z-31 N060 G01 X20 Z-20 N070 Z-2 N080 X14 Z1 N090 G70 P50 Q80 F30 3)固定形状切削复合循环(G73)指令格式: G73 UΔi WΔk Rd G73 Pns Qnf UΔu WΔw Ff Ss Tt

指令功能:适合加工铸造、锻造成形的一类工件,见图23所示。指令说明: Δi 表示X轴向总退刀量(半径值); ΔK 表示Z轴向总退刀量; d 表示循环次数;

ns 表示精加工路线第一个程序段的顺序号; nf 表示精加工路线最后一个程序段的顺序号; Δu 表示X方向的精加工余量(直径值); Δw 表示Z方向的精加工余量。

①固定形状切削复合循环指令的特点:

a.刀具轨迹平行于工件的轮廓,故适合加工铸造和锻造成形的坯料;b.背吃刀量分别通过X轴方向总退刀量Δi和Z轴方向总退刀量ΔK除以循环次数d求得;c.总退刀量Δi与ΔK值的设定与工件的切削深度有关。

②使用固定形状切削复合循环指令,首先要确定换刀点、循环点A、切削始点A’和切削终点B的坐标位置。分析上图,A点为循环点,A’→B是工件的轮廓线,A→A’→B为刀具的精加工路线,粗加工时刀具从A点后退至C点,后退距离分别为Δi+Δu /2,Δk+Δw,这样粗加工循环之后自动留出精加工余量Δu /

2、Δw。

③顺序号ns至nf之间的程序段描述刀具切削加工的路线。例题: 如图14所示,运用固定形状切削复合循环指令编程。

图24 固定形状切削复合循环例题 图25 复合固定循环举例

N010 G50 X100 Z100 N020 G00 X50 Z10 N030 G73 U18 W5 R10 N040 G73 P50 Q100 U0.5 W0.5 F100 N050 G01 X0 Z1 N060 G03 X12 W-6 R6 N070 G01 W-10 N080 X20 W-15 N090 W-13 N100 G02 X34 W-7 R7 N110 G70 P50 Q100 F30 4)精车复合循环(G70)指令格式: G70 Pns Qnf

指令功能:用G7

1、G7

2、G73指令粗加工完毕后,可用精加工循环指令,使刀具进行A-A`-B的精加工,(如图24)

指令说明:

ns表示指定精加工路线第一个程序段的顺序号; nf表示指定精加工路线最后一个程序段的顺序号;

G70~G73循环指令调用N(ns)至N(nf)之间程序段,其中程序段中不能调用子程序。5)复合固定循环举例(G71与G70编程)

加工图25所示零件,其毛坯为棒料。工艺设计参数为:粗加工时切深为7mm,进给速度0.3mm/r,主轴转速500r/min;X向(直径上)精加工余量为4 mm,z向精加工余量为2mm,进给速度为0.15mm/r,主轴转速800mm/min。程序设计如下: N01 G50 X200.0 Z220.0;N02 G00 X160.0 Z180.0 M03 S800;N03 G71 P04 Q10 U4.0 W2.0 D7.0 F0.3 S500;N04 G00 X40.0 S800;N05 G01 W-40.0 F0.15;N06 X60.0 W-30.0;N07 W-20.0;N08 X100.0 W-10.0;N09 W-20.0;N10 X140.0 W-20.0;N11 G70 P04 Q10;N12 G00 X200.0 Z220.0;N13 M05;N14 M30;3.螺纹加工自动循环指令

(1)单行程螺纹切削指令G32(G33,G34)指令格式 : G32 X(U)_ Z(W)_ F_

指令功能:切削加工圆柱螺纹、圆锥螺纹和平面螺纹。指令说明:

格式中的X(U)、Z(W)为螺纹中点坐标,F为以螺纹长度L给出的每转进给率。L表示螺纹导程,对于圆锥螺纹(图26),其斜角α在45°以下时,螺纹导程以Z轴方向指定;斜角α在45°~90°时,以X轴方向指定。

①圆柱螺纹切削加工时,X、U值可以省略,格式为: G32 Z(W)_ F _ ; ②端面螺纹切削加工时,Z、W值可以省略,格式为: G32 X(U)_ F_;

③螺纹切削应注意在两端设置足够的升速进刀段δ1和降速退刀段δ2,即在程序设计时,应将车刀的切入、切出、返回均应编入程序中。

图26 螺纹切削 图27 螺纹切削应用 螺纹切削例题: 如图27所示,走刀路线为A-B-C-D-A,切削圆锥螺纹,螺纹导程为4mm , δ1 = 3mm,δ2 = 2mm,每次背吃刀量为1mm,切削深度为2mm。G00 X16 G32 X44 W-45 F4 G00 X50 W45 X14 G32 X42 W-45 F4 G00 X50 W45(2)螺纹切削循环指令(G92)

指令格式 : G92 X(U)_ Z(W)_ R_ F_ 指令功能: 切削圆柱螺纹和锥螺纹,刀具从循环起点,按图28与图29所示走刀路线,最后返回到循环起点,图中虚线表示按R快速移动,实线按F指定的进给速度移动。

图28 切削圆柱螺纹 图29 切削锥螺纹 指令说明:

①X、Z表示螺纹终点坐标值;②U、W表示螺纹终点相对循环起点的坐标分量;

③R表示锥螺纹始点与终点在X轴方向的坐标增量(半径值),圆柱螺纹切削循环时R为零,可省略;

④F表示螺纹导程。

例题: 如图30所示,运用圆柱螺纹切削循环指令编程。

图30 切削圆柱螺纹例题 图31 切削锥螺纹例题 G50 X100 Z50 G97 S300 T0101 M03 G00 X35 Z3 G92 X29.2 Z-21 F1.5 X28.6 X28.2 X28.04 G00 X100 Z50 T0000 M05 M02

例题 : 如图31所示,运用锥螺纹切削循环指令编程。G50 X100 Z50 G97 S300 T0101 M03 G00 X80 Z2 G92 X49.6 Z-48 R-5 F2 X48.7 X48.1 X47.5 X47.1 X47 G00 X100 Z50 T0000 M05 M02

(3)螺纹切削复合循环(G76)

指令格式 : G76 Pm r a QΔdmin Rd G76 X(U)_ Z(W)_Ri Pk QΔd Ff

指令功能:该螺纹切削循环的工艺性比较合理,编程效率较高,螺纹切削循环路线及进刀方法如图32所示。

图32 螺纹切削复合循环路线及进刀法 指令说明:

②r表示斜向退刀量单位数,或螺纹尾端倒角值,在0.0f—9.9f之间,以0.1f为一单位,(即为0.1的整数倍),用00—99两位数字指定,(其中f为螺纹导程); ③a表示刀尖角度;从80°、60°、55°、30°、29°、0°六个角度选择;

④Δdmin:表示最小切削深度,当计算深度小于Δdmin,则取Δdmin作为切削深度; ⑤d:表示精加工余量,用半径编程指定;Δd :表示第一次粗切深(半径值); ⑥X、Z:表示螺纹终点的坐标值; ⑦U:表示增量坐标值; ⑧W:表示增量坐标值;

⑨I:表示锥螺纹的半径差,若I=0,则为直螺纹; ⑩k:表示螺纹高度(X方向半径值); G76螺纹车削实例

图33所示为零件轴上 的一段直螺纹,螺纹高度为3.68,螺距为6,螺纹尾端倒角为1.1L,刀尖角为60°,第一次车削深度1.8,最小车削深度0.1,精车余量0.2,精车削次数1次,螺纹车削前先精车削外圆柱面,其数控程序如下:

图33 螺纹切削多次循环G76指令编程实例 O0028 /程序编号

N0 G50 X80.0 Z130.0;/设置工件原点在左端面 N2 G30 U0 W0;/返回第二参考点

N4 G96 S200 T0101 M08 M03;/指定切削速度为200m/min,调外圆车刀 N6 G00 X68.0 Z132.0;/快速走到外圆车削起点(68.0,132.0)N7 G42 G01 Z130.0 F0.2;N8 Z29.0 F0.2;/外圆车削 N9 G40 G00 U10.0;N10 G30 U0 W0;N12 G97 S800 T0202 M08 M03;/取消恒切削速度,指定主轴转速800r/min,调螺纹车刀 N14 G00 X80.0 Z130.0;/快速走到螺纹车削循环始点(80.0,130.0)N16 G76 P011160 Q0.1 R0.2;/循环车削螺纹 N18 G76 X60.64 Z25.0 P3.68 Q1.8 F6.0;N20 G30 U0 W0 M09;N22 M30;①m表示精车重复次数,从1—99;

第4篇:MATLAB游戏编程实例(拼

MATLAB游戏编程实例(拼图)

这是一个简单的游戏,只要把数字按顺序排好就可以了。游戏方法是用鼠标点中数字,如果该数字相邻的格子为空,则自动移到到该空格。

本程序是由realghost编写,如果有问题可以与 slqinyi@163.com 联系。

附图如下:

function pintu1()A = gen()

G = [1 2 3;4 5 6;7 8 0];drawmap(A);

while 1

[xpos,ypos] = ginput(1);col = ceil(xpos);row = 3-ceil(ypos)+1;num = A(row,col);

if row>1&A(row-1,col)==0 A(row-1,col)= num;

A(row,col)= 0;

end

if row

end

if col>1&A(row,col-1)==0 A(row,col-1)= num;A(row,col)= 0;

end

if col

end

drawmap(A)

zt = abs(A-G);

if sum(zt(:))==0

msgbox('ÄãÒѾ-³É¹¦Æ´ºÃͼ£¡')break

end end

function drawmap(A)clf;hold on

line([0 3],[0 0],'linewidth',4);line([3 3],[0 3],'linewidth',4);line([0 3],[3 3],'linewidth',4);line([0 0],[0 3],'linewidth',4);

for i = 1:3

for j = 1:3

drawrect([j-1 3-i],[j 3-i],[j 3-i+1],[j-1 3-i+1],'y',A(i,j));

end end

axis equal axis off

function drawrect(x1,x2,x3,x4,color,num)x = [x1(1)x2(1)x3(1)x4(1)];y = [x1(2)x2(2)x3(2)x4(2)];fill(x,y,color)if num==0

text(0.5*(x1(1)+x2(1)),0.5*(x1(2)+x4(2)),' ','fontsize',24)else

text(0.5*(x1(1)+x2(1))-0.05,0.5*(x1(2)+x4(2)),num2str(num),'fontsize',24)end

function y = gen()y = inf*ones(1,9);for i = 1:9

while 1

a = randint(1,1,9);

if isempty(find(y==a))y(i)= a;break

end

end end

y = reshape(y,3,3);

当然可以啦,其实图像就是数字矩阵,图像的拼接就是矩阵的拼接,横着拼得行数相等,竖着拼得列数相等就行

例子

clc;clear;

a=imread('我的图片.jpg');[m n t]=size(a);

b=a(1:fix(m/2),:,:);%取图像的上半部分

c=a(fix(m/2)+1:end,:,:);%取图像的下半部分

figure(1);imshow(b);

figure(2);imshow(c);

%注意,上下拼接要求两幅图的列数要相同 %左右拼行数要相同

figure(3);d=[b;c];%把b,c拼起来,若左右拼接d=[b,c];imshow(d);

第5篇:Scratch(编程教案)

辅 导 计 划

第()周辅导内容:Scratch移动的小猫 辅导过程:

1、介绍scrather软件,让学生scrather软件主要功能和作用

2、学生自己探索scrather软件。

3、学生汇报scrather软件探索结果

4、展示任务:移动的小猫

5、辅导完成移动的小猫所需要使用的命令。

6、7、提交完成的作业 。

8、拓展任务:让小猫有更多的功能。如下,并交作业提交上来。按p键就跑 按J就叫喵的声音,按T就跳起来 ……

辅导小结:

辅 导 计 划

第()周 辅导内容:小猫走迷宫 辅导过程:

A、初步掌握舞台背景的编辑与导入方法。B、了解迷宫游戏的基本原则。C、能够为自己的迷宫游戏制订规则。

D、通过实践,了解并掌握自顶向下的编程思路。

E、通过自己编写游戏,激发学生学习兴趣,感受成功喜悦。

1、老师展示任务:走迷宫

2、学生讨论分析如何实现此任务

3、任务分解:

(1)跟着鼠标跑的小猫(2)制作迷宫背景(3)显示过关(4)出界就重来

4、程序分析:如右图 辅导小结:

辅 导 计 划

第()周 辅导内容:大鱼吃小鱼 辅导过程:

1、复习上节课的作品,并进行修正

2、学习新的命令

随机数

侦测到鼠标的距离

并利用这两条命令修改上节课的作业。

3、展示任务

4、分析任务:

(1)让学生讨论角色的建构、选择。背景的设置和处理

(2)每个角色程序的初步建构。

(3)自顶向下设计

5、程序设计

大鱼:

小鱼(左)

辅导小结: 辅 导 计 划

第()周 辅导内容:打蚊子 辅导过程:

A、初步掌握分析一个程序的能力。

B、通过实践,了解并掌握自顶向下的编程思路。C、学习广播命令,渗透程序消息机制。

D、通过自己编写游戏,激发学生学习兴趣,感受成功悦。

1、老师提出任务:打蚊子

2、学生讨论分析如何实现此任务

3、任务分解: (1)需要那些角色(2)角色有些什么行为(3)角色之间是否需要通信。

4、程序分析:如右图

辅导小结:

scratch编程教案模板

数控编程教案模板

少儿编程教案模板

编程一小时教程教案模板(共4篇)

大学体育游戏教案模板(共5篇)

《大学体育游戏教案模板(共5篇).docx》
大学体育游戏教案模板(共5篇)
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档
相关文章
猜你喜欢