liuem  

2014年1月3日

摘要: 常见的几何算法库包括:ACIS,Parasolid和OpenCASCADE(简称OCC)。前两个是商业的,后者是开源的。在CAD/CAE这个领域,开源算法库基本上没有多大优势。 基于ACIS和Parasolid至少有很多知名的产品,比如ACIS有AutoCAD, Inventer, CATIA... 阅读全文
posted @ 2014-01-03 10:23 弈名 阅读(8889) 评论(1) 推荐(0) 编辑

2013年11月17日

摘要: 基于OpenGL标准开发的应用程序运行时需有动态链接库OpenGL32.DLL、Glu32.DLL,这两个文件在安装Windows NT时已自动装载到C:\WINDOWS\SYSTEM32目录下(这里假定用户将Windows NT安装在C盘上)。 OpenGL的图形库函数封装在动态链接库OpenGL32.DLL中,开发基于OpenGL的应用程序,必须先了解OpenGL的库函数。 OpenGL函数命令方式十分有规律,每个库函数均有前缀gl、glu、aux,分别表示该函数属于OpenGL基本库、实用库或辅助库。Windows NT下的OpenGL包含了100多个核心函数,均以gl作为前缀,... 阅读全文
posted @ 2013-11-17 21:16 弈名 阅读(530) 评论(0) 推荐(0) 编辑

2013年6月6日

摘要: 需求分析实际上是业务分析,选择一种业务导向的线索将零散的需求串起来,形成一个体系完整、内容清晰的框架,以指导后续的设计和开发工作。需求分析方法 需求分析做什么呢?需求分析就是先分解,再提炼,在这个过程中消除矛盾。分解 分解是人类控制复杂性,认识复杂事物的最佳实践,无论采用结构化分析方法还是面向对象分析方法,分解是必然采用的手段。 常见的分解方式: 1、业务流程为主线索的分解结构:按“事”的角度进行分解,目标系统-主题域-业务事件-报表类型; 2、程序结构为主线索的分解结构:目标系统-子系统-功能模块-子模块-功能点,最常用的一种分解方式; 3、基于数据的分解结构:以数据位主线的... 阅读全文
posted @ 2013-06-06 10:28 弈名 阅读(1883) 评论(0) 推荐(0) 编辑

2013年5月12日

摘要: 近期参与了一些社会招聘的技术面试,记录了这些面试的过程和结果。闲暇时翻看这些文档,觉得面试开发人员还是有很多学问的,又在网上搜集了一些资料,结合以前看过的书,简单的梳理一下如何面试开发人员。输入输出原则 做任何事情都是要有输入输出的。 就技术面试的输入而言,一是是确定面试的一些基本信息,比如面试地点、面试时间和面试用时限制等;二是要明确用人要求,比如人员等级、需要掌握哪些技术、年龄学习是否有限制、要求有哪些能力等等;三是要认真阅读应聘者的简历,深入了解应聘者的信息,为准备面试问题打基础;四是明确面试输出结果的要求,比如下面将提到的面试结果表。 就技术面试的输出而言,这几次技术面试都要... 阅读全文
posted @ 2013-05-12 11:09 弈名 阅读(762) 评论(0) 推荐(0) 编辑

2013年4月26日

摘要: 需求变更频繁在困扰软件开发团队问题中排名第一,实际工作中不乏先例。《软件需求最佳实践》中“需求变更操作实务”讲到了如何管理需求变更,简单梳理一下。、基本理念 需求变更来源主要有两种:一是捕获信息不全面,分析结果不正确;二是世界变化快,业务需求发生了变化。对于算量产品而言,前者占80%以上,所以做好自己,管好自己更重要些。 管理需求变更的目标不是避免变更,而是控制变更。控制变更的意义在于减少变更对开发工作的影响。 如何控制需求变更呢?有两个方面的工作:统一渠道(变更管理委员会)、统一平台(变更管理系统)。之前一直没有做好需求变更工作,一是没有统一渠道和统一平台,二是没有做好需求变更的甄... 阅读全文
posted @ 2013-04-26 09:21 弈名 阅读(2140) 评论(0) 推荐(0) 编辑

2013年4月22日

摘要: 需求基线管理是需求管理活动中最基础的一个,《软件需求最佳实践》中有所阐述,结合实际工作梳理一下。 什么是“需求基线”?在某个特定版本中实现的功能性和非功能性的一组需求集合。引入需求基线后,意味着要采用分阶段或迭代的开发方式。这和敏捷开发中“风险前移”、“分阶段交付”、“小步快走”、“中途回顾”等理念是相契合的。 需求项划分应以业务驱动划分标准,因为业务主题,业务流程和业务活动相对于具体的软件需求而言是稳定的。划定基线应采用“早基线,晚冻结”的方式,具体细节可以在迭代中逐步完善。需求项优先级评定 优先级应先从业务角度划分优先级,要把它放到业务场景和业务流程中考虑。一般可分以下四级:关键... 阅读全文
posted @ 2013-04-22 18:43 弈名 阅读(5669) 评论(0) 推荐(1) 编辑

2013年4月19日

摘要: 《曾国藩家书》中有一段:“男人前于过失,每自忽略,自十月以来,念念改过,虽小必惩”。小过必惩,可以防微杜渐。在生活中一般不过犯什么大错,常常会因为自制力差、放纵自己而犯一些错。常常在犯错后找些借口,搪塞过去,这样往往会导致该做好的事没有做好,加重自己是“一事无成”的这种认知。 所以,一定要小过必惩!如何惩罚自己呢?在百度上搜了一下,发现饿自己一顿中午饭,应该是一个不错的选择。为了不损害健康,这种惩罚每周最多1次! 自制力差,是需要克服的,否则将不能成事!本文也算为自己立个证明吧! 当然,小成必赏。作为一个普通人,当自己制定的目标实现了,哪怕很小,找自己喜欢的方式放纵一下,也不失是一种... 阅读全文
posted @ 2013-04-19 22:18 弈名 阅读(472) 评论(0) 推荐(0) 编辑

2013年3月29日

摘要: 投影变换 投影变化的目的是定义一个可视空间,它决定了一个物体如何映射到屏幕上(透视投影或正投影),并定义了哪些物体或物体的一部分被裁剪在最终图像之外。 在进行投影变换之前,一定要调用以下代码: glMatrixMode(GL_PROJECTION); glLoadIdentiyt();透... 阅读全文
posted @ 2013-03-29 17:30 弈名 阅读(337) 评论(0) 推荐(0) 编辑

2013年3月28日

摘要: 照相机比喻视图变换——确定照相机位置;模型变换——安排场景,确定物体位置;投影变换——选择照相机镜头,调整放大倍数;视口变换——确定照片的大小; 通用变换函数 void glMatrixMode(GLenum mode); 指定模型视图、投影或纹理矩阵是否将被修改,值可以为GL_MODELVIEW,GL_PROJECTION或GL_TEXTURE; void glLoadIdentiy(void); 加载单位矩阵,用于清除当前矩阵,将其归零; void glLoadMatrix(cont Type *m); 将当前矩阵的16个值设置为m指定的值; void glMultMatr... 阅读全文
posted @ 2013-03-28 10:47 弈名 阅读(2035) 评论(0) 推荐(0) 编辑

2013年3月5日

摘要: TreeView是Delphi中使用频率比较高的一个控件,虽然使用次数很多,但总结不够。借着这次做GDW原型的机会总结一下,写的过程中也会参考网上的博文。TTreeView、TTreeNodes和TTreeNode TTreeView由节点构成,建树通过对TreeView.items属性进行操作。Items是一个TTreeNodes对象,这是一个TTreeNode集。常用的属性Count,结点个数;Item[index],通过index得到结点;TTreeNode.Data,指向一个指针,可以存对象,存指针,也可以存整数;TTreeNode.Text,树结点的文本;TTreeNode.I... 阅读全文
posted @ 2013-03-05 18:27 弈名 阅读(3970) 评论(0) 推荐(0) 编辑