点在凸多边形内外的判定(源程序忘记保存了,随便找了个源程序,反正老师不会看)

点在凸多边形内外的判定(源程序忘记保存了,随便找了个源程序,反正老师不会看)

ID:22819096

大小:595.78 KB

页数:33页

时间:2018-10-31

点在凸多边形内外的判定(源程序忘记保存了,随便找了个源程序,反正老师不会看)_第1页
点在凸多边形内外的判定(源程序忘记保存了,随便找了个源程序,反正老师不会看)_第2页
点在凸多边形内外的判定(源程序忘记保存了,随便找了个源程序,反正老师不会看)_第3页
点在凸多边形内外的判定(源程序忘记保存了,随便找了个源程序,反正老师不会看)_第4页
点在凸多边形内外的判定(源程序忘记保存了,随便找了个源程序,反正老师不会看)_第5页
资源描述:

《点在凸多边形内外的判定(源程序忘记保存了,随便找了个源程序,反正老师不会看)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、课程名称课题名称专业班级学号姓名指导教师_计算机图形学点在凸多边龍计算机科学1202刘长松2015年9月21日湖南工程学院课程设计任务书课程名称计算机图形学课题点在凸多边形内外的判定专业班级计算机1202学生姓名学号指导老师刘长松审批任务书下达日期2015年9月5日任务完成日期2015年9月21曰、设计内容与设计要求1.设计内容:以图形学基木算法为目标,深入研究。继而策划、设计并实现一个能够判定点在凸多边形内外的算法,并能从某些方面作出评价和改进意见。通过完成一个完整程序,经历策划、设计、开发、测试、总结和验收各阶段。2.设计要求:(1)使用鼠标指定一组点来定

2、义凸多边形;(2)使用鼠标指定测试点;(3)根据测试结果输出“在内部”或“在外部”。3.参考文献[1]王汝传.黄海T.计算机阁形学教程[M].北京:人民邮电出版社,2009.[2]孔令徳.计算机阁形学教程[M].北京:清平大学出版社,2008..[3]姜灵芝.C语言课程没计案例精编[M].北京:清华大学出版社.2008.[4]徐文鹏.计算机阁形学.北京:机械工业出版社,2009.二、进度安排第1周星期一8:0012:00星期三8:0012:00星期五8:0012:00第2周星期一8:0012:00星期三8:0012:00S期五8:0012:00附:课程设计报告

3、装订顺序:封面、任务书、目录、正文、附件(A4大小的图纸及程序清单)、评分。正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现(至少要有一个主要模块的流程图);四、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释)。正文总字数要求在5000字以上(不含程序原代码)。一、设计需求分析1二、总体设计2三、详细设计3rq.m7五、心得体会10#考対伏11縣12,、设计需求分析该课题主要实现判断点与凸多边形的位置关系

4、。其设计思想是应用图形学中的算法来实现该课题的功能。该课题还要实现通过鼠标画点绘制多边形和画点。查询网上资料得知该项目主要判定方法有射线法、面积法、交叉发、改进弧法、角度矢量法等等,本次实验将会采用射线法来完成本次课题。本设计中主要用到有LineGL(PointptO,Pointptl);PointGL(Pointpt);glutInit(&argc,argv);glutInitDisplayMode(GLUT_RGB

5、GLUT_SINGLE);glutInitWindowPosition(a,a);glutInitWindowSize(600,800);gl

6、utDisplayFunc(myDisplay);glutReshapeFunc(Reshape);createGLUTMenus();GlutMotiseFiinc(moiise);glutMainLoop()等等。关于绘点和直线,opengl要求指定顶点的命令必须也含在glBegin函数之后,glEnd函数之前(否则揩定的顶点将被忽略),并由glBegin来指明如何使用这些、6:。如果glBegin函数之后是gLpoints生成顶点,是gUines则生成直线。创建生成点和直线的方法,生成多边行吋通过一个循环,调用生成点和直线的方法显示多边形。同时,多边形的

7、绘制函数DrawPolygon()和判定点在其内的函数PtInPolygon()是实现本次算法的精要所在,通过射线法来判定点与多边形的位置关系,从点出发的射线与多边形的边相交,若交点的个数为奇数,则点在多边形内部;若交点为偶数,则点在多边形的外部。二、总体设计关于点在凸多边形内外判定的设计,首先要设计画点的算法以及直线的画法,从而利用点和直线的算法设计凸多边形的算法。最重要的是设计如何判定点在凸多边形内外。确定一个点与多边形的内部关系一•般有两种方法:射线法和累计角度法。这里,我用的是射线法:(在代码屮)以pointpt为起点,以无穷远为终点作平行于X轴的直线

8、,循环取得多边形每一条边,11判断是否平行X轴,如果平行(xmtirme,否则i++;同吋判断点是否在边上,如果是,则返回1(点在多边形上),否则继续下面的判断;判断边与线是否有交点,如果有则vp++,否则,i++。判断交点的总数,如果为奇数则返回0(点在多边形内),偶数则返回2(点在多边形外)。通过创建鼠标事件的方法,来进行阀多边形和判断。其功能模块图如下:主菜单▼▼▼图2.1三、详细设计通过鼠标来绘制,绘制图形和点,并将在静态文本控件屮绘制图形,所以,需要响应对话框的鼠标消息,并需要在静态文本的重绘函数OnPaint()屮绘制阁形和点。另夕卜,需要从静态文

9、木控件CStatic矣屮,派生自己的静

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。