2.1 所需技术分析
互联网技术突飞猛进的同时各种附属技术也在不断的成熟,给我们的社会带来的经济效益也是不容小觑的。开发这样一款人体模拟仿真系统主要采用的基础架构是现今比较主流的B/S架构。在确定基础架构的同时,分析了如今网页开发中的一个发展趋势,最终决定采用在Windows上对本系统作一个完整的开发。本开发系统采用的Windows的Win10版本系统,C++面向对象开发语言,其中用到了OpenGL API框架,glfw等类库。采用这些技术的主要原因主要有以下几个:首先,为了传承免费开源的编程思想,其次,为了满足快速开发的原则,要在短短几个月的时间完成这样一套人体仿真模拟系统。以下是关于本次开发中在技术使用上的一些介绍。
2.1.1 C++ 编程语言
C++是在C语言的基础上扩展并进一步延伸的一种面向对象编程语言,应用非常的广泛;C++支持多种编程范式 --面向对象编程、泛型编程和过程化编程。最新正式标准C++于2014年8月18日公布。[1] 其编程领域众广,常用于系统开发,引擎开发等应用领域,是至今为止最受广大程序员受用的最强大编程语言之一,支持类:类、封装、重载等特性!
2.1.2 OpenGL架构
OpenGL(全写Open Graphics Library)是指定义了一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口。它用于三维图像(二维的亦可),是一个功能强大,调用方便的底层图形库。
OpenGL™ 是行业领域中最为广泛接纳的2D/3D图形API,OpenGL™ 帮助程序员实现在 PC、工作站、超级计算机等硬件设备上的高性能、极具冲击力的高视觉表现力图形处理软件的开发。粗略分为以下三个阶段:大型主机时代、集中式或终端式结构,局域网时代和广域网时代。
2.1.3 GLFW类库
GLFW是一个开源的,用OpenGL上下文和接收输入和事件创建Windows多平台的图书馆。这是很容易集成到现有的应用程序,并没有提出索赔的主回路。
GLFW是用C写的,用于Windows的原生支持,OS X和许多Unix使用X窗口系统,如Linux和FreeBSD。
2.1.4 GLEW类库
OpenGL扩展库是个简单的工具,用于帮助C/C++开发者初始化扩展(OpenGL扩展功能)并书写可移植的应用程序。GLEW当前支持各种各样的操作系统,包含Windows,Linux,Darwin,Irix与Solaris。
(1) Glm
GLM是C++数学库的图形软件基于OpenGL着色语言,源^自#优尔\文-论|文]网}www.youerw.com(GLSL)规范。
GLM提供的类和函数的设计与实现具有相同的命名约定和功能比GLSL所以当程序员知道GLSL,他知道GLM也使得它很容易使用。
这个项目不是通过GLSL功能有限。一个扩展系统,基于GLSL扩展约定,提供扩展功能:矩阵变换,四元数,一半的基础类型,随机数,等等。
这个图书馆工程完全符合OpenGL也确保互操作性与其他第三方库和SDK。这是一个很好的候选人(软件渲染光线追踪/栅格化),图像处理,物理模拟和任何需要一种简单方便的数学库中。
2.2 系统需求分析
所谓的系统需求分析应该就是要了解本系统的主要任务是干什么,也就是要明白客户要我们做什么,然后要对自己怎么做进行细致入微的分析、设想,写好自己的需求分析文档。在对客户的需求进行比较详细的分析之后,为了能够满足客户需求,本系统还完成了一些功能和结构上的扩展。客户的主要需求有以下几个: