[项目部]项目A组(邱震钰)-3D终结者(C++):开发功能文档初步
3D函数终结者
一.项目开发组
项目开发组:项目部项目A组
项目名:3D函数终结者
项目A组成员:邱震钰、李远哲
计划时间:2011.9.26-X
二.项目简介
功能:输入一个有限复杂度的3D函数表达式,输出对应的三维空间曲线/面三维图形。
Case1:用户输入“z(x,y)=cos(sin(x)+cos(y))*tan(x)*y^2”,输出函数的三维图像;
Case2:用户在已经输出的三维图像上移动鼠标,移动到曲线或曲面的附近,出现切平面或切线;
Case3:绘制层曲线/面“5=((x*y+x^5)-3.1415*x*x)/(x*x-y*5.8)”;
Case4:输入立体对象“Box(x0,y0,z0,r0,"box_name")”,输出空间内对应尺寸和位置的立方体;
Case5:把用户输出的三维图像保存到图像文件格式;
Case6:保存当前编辑世界输入命令“Save to test.data”;
Case7:旋转视角和渲染编辑界面内对象,输入对应的命令;
Case8:通过软件内的三维编辑器录制简单跟踪动画。
应用:用于结合高等数学立体解析几何的学习参考,求局部/最大极值,以及切线,方面同学们研究空间解析几何以及实际中构造对应的函数等用途。
移植:后续版本将会考虑从客户端移植到B/S,以方便推广
基于理论:编译原理、图形学、高等数学解析几何
实现语言:C++
运行平台:Windows NT及以上
开发工具:Visual C++ 2008 + 3Ds MAX + Maya
三.设计初步框架
组件分层(从上至下):
UI层:UI组件;渲染窗口组件;
APP层:脚本解释器组件;三维编辑器组件;
CORE层:空间管理器组件;渲染器组件;
TOOLS层:自定义库:3D引擎支持库;编译器支持库;矩阵支持库;常用库;事件库。