图书介绍
CAD应用程序开发详解 Visual C++与OpenGL综合应用PDF|Epub|txt|kindle电子书版本网盘下载
![CAD应用程序开发详解 Visual C++与OpenGL综合应用](https://www.shukui.net/cover/71/33843395.jpg)
- 王清辉,李静蓉编著 著
- 出版社: 北京:电子工业出版社
- ISBN:9787121179709
- 出版时间:2012
- 标注页数:422页
- 文件大小:210MB
- 文件页数:434页
- 主题词:AutoCAD软件-程序开发工具;C语言-程序设计;图形软件-程序设计
PDF下载
下载说明
CAD应用程序开发详解 Visual C++与OpenGL综合应用PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 三维CAD软件的系统框架分析1
1.1关于微软基础类MFC1
1.2 MFC应用程序的文档/视图结构2
1.2.1文档/视图结构概述2
1.2.2文档与多个视图的关联3
1.2.3文档模板及主要组成类4
1.3实例分析:三维CAD模型浏览软件STLViewer7
1.4 STLViewer的程序框架8
1.5 STLViewer中类的层次设计及软件模块结构划分15
1.6建立和使用动态链接库16
1.6.1动态链接库的基本概念17
1.6.2基于MFC的动态链接库18
1.6.3查看执行程序EXE与DLL库的层次关系19
附:本章相关程序使用说明19
第2章 矢量计算工具与几何计算类库设计21
2.1矢量运算概述21
2.1.1点21
2.1.2矢量22
2.1.3齐次坐标与齐次变换矩阵25
2.2设计点、矢量和齐次变换矩阵类26
2.2.1点类CPoint3D27
2.2.2矢量类CVector3D31
2.2.3变换矩阵类CMatrix3D34
2.3三维图形的几何变换38
2.3.1三维齐次变换矩阵38
2.3.2平移变换38
2.3.3旋转变换/绕空间任意轴的旋转变换函数的实现39
2.3.4几何缩放42
2.3.5对称变换/沿空间任意平面的对称变换函数的实现43
2.4矢量计算及其工具函数集设计44
2.4.1判断两个空间矢量是否平行45
2.4.2计算两个矢量的夹角46
2.4.3计算三角面片的面积46
2.4.4正交投影及点到直线之间的距离计算47
2.4.5直线求交48
2.4.6创建过平面三个点的圆49
2.5设计几何基本工具库GeomCalc.dll51
2.5.1 GeomCalc.dll中的输出类与输出函数51
2.5.2创建几何基本工具库GeomCalc.dll的步骤53
2.5.3使用GeomCalc.dll54
2.6有关源程序代码55
2.6.1文件CadBase h55
2.6.2文件CadBase.cpp64
2.6.3文件CadBasel.cpp91
附:本章相关程序使用说明96
第3章 创建基于M FC的OpenGL Windows程序97
3.1 OpenGL概述97
3.2在Windows环境下使用OpenGL99
3.2.1 OpenGL的函数库99
3.2.2获取与安装OpenGL99
3.2.3 OpenGL与GDI100
3.2.4渲染场境101
3.2.5像素格式103
3.3 OpenGL MFC应用程序创建实例108
3.3.1创建一个应用程序框架109
3.3.2修改视类CGLView111
3.3.3使用OpenGL的双缓存技术为应用程序增加动画效果119
3.4程序清单120
3.4.1文件GLView.h120
3.4.2文件GLView.cpp122
附:本章相关程序使用说明129
第4章 设计封装OpenGL功能的C+类130
4.1封装OpenGL的C++类的设计130
4.2照相机类GCamera的设计131
4.2.1视点坐标系和视图变换132
4.2.2投影变换与视景体134
4.2.3视口变换135
4.2.4设计照相机类GCamera138
4.3类COpenGLDC141
4.4修改类CGLView146
4.5运行应用程序150
4.6源程序清单150
4.6.1类GCamera的声明代码151
4.6.2类GCamera的实现代码152
4.6.3类COpenGLDC的声明代码154
4.6.4类COpenGLDC的实现代码155
4.6.5类CGLView的声明代码158
4.6.6类CGLView的实现代码159
附:本章相关程序使用说明162
第5章 设计基于OpenGL的CAD图形工具库163
5.1创建动态链接库gIContext.dll163
5.2照相机类GCamera的功能增强164
5.2.1选择典型的观察视图166
5.2.2景物平移170
5.2.3景物缩放171
5.2.4使用OpenGL的选择模式172
5.3模型真实感渲染与OpenGL光照设置173
5.3.1光照的组成174
5.3.2定义OpenGL的光源174
5.3.3物体材质176
5.3.4单面光照与双面光照177
5.4类COpenGLDC功能的增强178
5.4.1实现和Windows窗口的关联182
5.4.2有关光源的操作182
5.4.3有关颜色的操作185
5.4.4图形绘制函数191
5.4.5选择模式197
5.5增加类CGLView中的功能198
5.6 glContext类的输出和调用202
5.7源程序清单202
5.7.1文件Camera.h(类GCamera)202
5.7.2文件Camera.cpp(类GCamera)204
5.7.3文件OpenGLDC.h(类COpenGLDC、CGLView)210
5.7.4文件OpenGLDC.cpp(类OpenGLDC)214
5.7.5文件GLView.cpp(类CGLView)225
附:本章相关程序使用说明228
第6章 设计几何内核模块229
6.1 CAD实体模型的常用表示方法230
6.1.1边界表示法与体素构造法简介230
6.1.2多边形网格实体建模的概念231
6.1.3立体光造型(STL)文件格式233
6.2几何对象类的设计235
6.2.1类的层次设计235
6.2.2几何对象基本类CEntity238
6.2.3三角形面片对象类CTriChip241
6.2.4 STL几何模型类CSTLModel243
6.2.5高级几何模型类CPart247
6.3串行化(Serialize)实现文档存取功能250
6.3.1为什么要使用串行化250
6.3.2 CArchive类251
6.3.3串行化类的设计步骤252
6.3.4 CObArray的Serialize()函数253
6.3.5应用程序的文档串行化实例剖析253
6.4利用多态性实现CAD模型的绘制256
6.4.1虚拟函数与多态性256
6.4.2利用多态性统一CAD元素的绘制接口258
6.4.3纯虚拟函数259
6.4.4实现CPart模型的OpenGL显示260
6.5建立几何内核库GeomKernel.dll262
6.6程序清单263
6.6.1文件Entity.h263
6.6.2文件Entity.cpp267
附:本章相关程序使用说明276
第7章 CAD应用程序的模块化实现277
7.1网格模型可视化程序STLViewer的解决方案278
7.1.1网格模型可视化程序STLViewer的模块结构278
7.1.2创建应用程序的解决方案278
7.1.3为解决方案配置目录与路径280
7.2设计应用程序框架283
7.2.1增加界面资源283
7.2.2修改框架类CMainFrame284
7.2.3修改文档类CSTLViewerDoc286
7.2.4修改视图类CSTLViewerView287
7.3运行STLViewer.exe293
7.3.1输入STL模型293
7.3.2存储STLViewer自己的文档(*.mdl)293
7.3.3模型显示缩放294
7.3.4使用键盘平移场景294
7.3.5模型视图切换294
7.3.6模型着色模式切换294
7.4源程序清单295
7.4.1文件MainFrm.h295
7.4.2文件MainFrm.cpp296
7.4.3文件STLViewerDoc.h299
7.4.4文件STLViewerDoc.cpp300
7.4.5文件STLViewerView.h302
7.4.6文件STLViewerView.cpp304
附:本章相关程序使用说明309
第8章 曲线和曲面的 OpenGL绘制及类设计310
8.1关于曲面造型技术310
8.2曲线和曲面的参数表示312
8.2.1曲线的非参数表示312
8.2.2曲线的参数表示312
8.2.3插值与逼近313
8.3曲线的样条描述314
8.3.1参数样条曲线的基本概念314
8.3.2 Bezier曲线、曲面的数学表示315
8.3.3使用OpenGL绘制Bezier曲线316
8.3.4使用OpenGL绘制Bezier曲面319
8.3.5 NURBS曲线的数学表示321
8.3.6使用OpenGL绘制NURBS曲线322
8.3.7使用OpenGL绘制NURBS曲面326
8.4在应用程序中集成曲线和曲面功能330
8.4.1添加Bezier曲线功能330
8.4.2添加Bezier曲面功能336
8.4.3添加NURBS曲线功能338
8.4.4添加NURBS曲面功能341
8.5 程序清单344
8.5.1类CBezierCurve的源代码344
8.5.2类CBezierSurface的源代码348
8.5.3类CNurbsCurve的源代码353
8.5.4类CNurbsSurface的源代码359
8.5.5 COpenGLDC中新增的曲线和曲面绘制函数代码365
附:本章相关程序使用说明370
第9章 CAD应用程序的界面设计371
9.1 STLViewer的界面增强371
9.2工具栏的排列372
9.3使用快捷菜单374
9.4创建类似Visual Studio风格的浮动窗口375
9.4.1控制条与停靠栏375
9.4.2开发具有Visual Studio风格的浮动窗口378
9.4.3 CTabCtrl控件的功能增强380
9.4.4 建立界面工具库DockTool.dll387
9.5使用树型视图CTreeView显示和管理文档数据387
9.5.1树型视图与树型控件概述388
9.5.2在STLViewer中创建CPartTreeView388
9.5.3树视图CPartTreeView与文档的关联/文档多视图390
9.5.4在树型控件中使用图标392
9.5.5使用树视图控件显示文档中几何模型的结构和属性393
9.5.6通过树视图控件对文档数据进行操作395
附:本章相关程序使用说明398
第10章 三维CAD图形交互功能的实现399
10.1使用OpenGL选择模式400
10.1.1 OpenGL的三种操作模式400
10.1.2使用选择模式401
10.2一个OpenGL选择模式的应用程序406
10.3 OpenGL的选择功能与CAD应用程序的集成410
10.3.1定义选择视景体/修改类CCamera411
10.3.2对选择过程的操作/修改类COpenGLDC412
10.3.3自动给对象命名/对类CSTLModel的修改414
10.3.4在STLViewer中调用拾取功能415
10.3.5运行程序417
10.4三维空间的视景交互417
10.4.1鼠标移动跟踪417
10.4.2 OpenGL空间与Windows窗口的坐标转换419
附:本章相关程序使用说明421
参考文献422