第1章 包装CAD概述 1
1.1 包装CAD的基本概念 1
1.2 CAD的发展和应用 3
1.2.1 CAD的发展 3
1.2.2 CAD的应用 5
1.3 CAD的软硬件环境 6
1.3.1 CAD的分类 6
1.3.2 CAD的层次 6
1.3.3 CAD的硬件系统 7
1.3.4 CAD软件系统 11
习题 12
第2章 基本图形绘制 13
2.1 VC图形编程预备知识 13
2.1.1 VC集成开发环境 13
2.1.2 生成应用程序框架 15
2.1.3 VC菜单编程 19
2.1.4 图形的类型 22
2.1.5 GDI设备 22
2.1.6 设备环境 24
2.2 基本文本图形控制 26
2.2.1 GDI颜色支持 26
2.2.2 文本颜色、背景颜色和背景模式 27
2.2.3 文本对齐 27
2.2.4 文本绘制函数 29
2.3 字体 29
2.4 画笔 31
2.5 画刷 33
2.6 映射模式和光栅操作 34
2.6.1 映射模式 34
2.6.2 光栅操作 34
2.7 高级文本图形控制 36
2.7.1 字体的磅 37
2.7.2 下一字符串的定位输出 37
2.7.3 文本居中 39
2.8 剪切区域 40
2.9 直线的生成 40
2.9.1 VC的画点和画线 40
2.9.2 直线的Bresenham算法 43
2.10 圆的生成算法 49
2.10.1 圆的Bresenham算法 49
2.10.2 圆的Bresenham生成程序设计 51
习题 53
第3章 反走样、填充和裁剪 54
3.1 直线段反走样算法 54
3.1.1 提高屏幕分辨率 55
3.1.2 过滤技术 56
3.1.3 简单的区域取样 57
3.1.4 加权区域取样 58
3.1.5 边界区域取样 62
3.2 填充算法 64
3.2.1 边界填充算法 64
3.2.2 泛滥填充算法 67
3.3 裁剪操作 67
3.3.1 点的裁剪 68
3.3.2 线段的裁剪 68
3.3.3 Cohen-Sutherland线段裁剪算法 69
3.3.4 梁友栋-Barsky线段裁剪算法 73
习题 77
第4章 二维曲线的生成算法 78
4.1 拉格朗日插值曲线算法 78
4.1.1 拉格朗日插值原理 79
4.1.2 五个型值点的拉格朗日插值曲线 80
4.2 Hermite插值曲线 82
4.2.1 Hermite插值曲线算法 82
4.2.2 三次Hermite插值多项式曲线 82
4.3 三次样条插值算法 84
4.3.1 自然三次样条曲线 86
4.3.2 自然三次样条曲线的绘制 86
4.4 贝塞尔曲线生成算法 89
4.4.1 贝赛尔曲线的算法 89
4.4.2 贝赛尔曲线的特征 90
4.4.3 四次贝赛尔曲线 91
4.5 B-样条曲线生成算法 93
4.5.1 B-样条曲线的算法及其特征 93
4.5.2 各类B-样条曲线 94
4.5.3 三次周期性B-样条曲线 95
4.6 最小二乘法逼近曲线算法 97
4.6.1 最小二乘法原理 98
4.6.2 逆矩阵的函数 100
4.6.3 五个型值点的最小二乘法曲线 101
习题 104
第5章 二维图形变换 105
5.1 二维图形变换的数学基础 105
5.1.1 矢量计算 105
5.1.2 矩阵运算 105
5.1.3 齐次坐标 107
5.2 窗口和视图变换 108
5.2.1 用户域和窗口域 108
5.2.2 屏幕域和视图区 108
5.2.3 窗口区和视图区的坐标变换 108
5.2.4 从规格化坐标(NDC)到设备
坐标(DC)的转换 109
5.2.5 在VC中实现从用户坐标到设备
坐标的转换 111
5.3 二维图形基本变换的矩阵表示 111
5.3.1 二维变换矩阵 112
5.3.2 平移变换 112
5.3.3 比例变换 112
5.3.4 对称变换 113
5.3.5 旋转变换 114
5.3.6 错切变换 114
5.4 二维基本变换的程序实现 115
5.4.1 矩阵相乘的程序 115
5.4.2 平移变换程序 116
5.4.3 比例变换程序 118
5.4.4 对称变换程序 121
5.4.5 旋转变换程序 123
5.4.6 错切变换程序 125
5.5 二维复合变换及其程序实现 128
5.5.1 复合平移变换 128
5.5.2 复合比例变换 131
5.5.3 复合旋转变换 131
5.5.4 相对于某一基准点的比例变换 132
5.5.5 相对于某一基准点的旋转变换 132
习题 133
第6章 数字图像 134
6.1 数字图像数据 134
6.1.1 图像的表示 134
6.1.2 图像的采样 134
6.2 数字图像格式 135
6.2.1 位图数据格式 135
6.2.2 对DIB数据结构的几点说明 137
6.3 一个DIB类 138
6.3.1 DIB处理函数 138
6.3.2 序列化 140
6.3.3 DIB类 141
习题 150
第7章 图像的点运算 151
7.1 纯灰度图像 151
7.1.1 彩色向灰度的映射 151
7.1.2 纯灰度图转换函数 151
7.1.3 将彩色位图转换成纯灰度图 154
7.2 灰度直方图 155
7.3 灰度均衡 161
7.3.1 灰度均衡 161
7.3.2 灰度均衡函数 162
7.3.3 灰度均衡处理 163
习题 164
第8章 图像的空间运算 165
8.1 模板变换 165
8.1.1 模板变换 165
8.1.2 定义模板 165
8.1.3 模板变换函数 166
8.2 平滑处理 168
8.3 高斯平滑 169
8.4 边缘检测 169
8.5 浮雕变换 170
8.6 模板变换编程 171
习题 172
第9章 颜色模型 173
9.1 光的特性 173
9.2 标准基色和色度图 174
9.2.1 XYZ颜色模型 174
9.2.2 CIE色度图 174
9.3 常用颜色模型 175
9.3.1 RGB颜色模型 175
9.3.2 CMY颜色模型 175
9.3.3 HSV颜色模型 176
9.4 颜色模型间的转换 176
9.4.1 RGB与CMYK的转换 176
9.4.2 RGB与HSV的转换 177
9.4.3 HSV调色板 179
9.5 颜色通道分离 180
习题 181
第10章 运输包装CAD 182
10.1 软件开发过程 182
10.2 运输包装CAD需求分析 184
10.2.1 运输包装CAD系统的功能 184
10.2.2 运输包装CAD系统的组成 184
10.3 运输包装CAD系统设计 185
10.3.1 缓冲包装设计模块 185
10.3.2 瓦楞纸箱设计模块 188
10.3.3 托盘集装设计模块 189
10.3.4 系统数据库的设计 189
10.4 运输包装CAD系统实现 190
习题 191
第11章 OpenGL概述 192
11.1 OpenGL 192
11.2 OpenGL的基本构成 192
11.3 OpenGL数据类型 193
11.4 GLUT工具包 193
11.5 编程实例 194
11.5.1 命令行程序 194
11.5.2 Windows程序 197
11.5.3 两种环境下编程的比较 202
习题 202
第12章 三维形体 203
12.1 程序构成 203
12.2 计算顶点坐标 205
12.3 设置光源和材质 206
12.4 初始化 208
12.5 绘制 208
习题 211
第13章 动画 212
13.1 OpenGL动画原理 212
13.2 程序构成 212
13.3 显示列表 213
13.4 渲染场景 214
13.5 动画 216
习题 217
第14章 邦友包装纸盒CAD系统 218
14.1 Box-Vellum软件 218
14.1.1 面板 218
14.1.2 菜单部分 222
14.2 FoldUP! 3D软件 225
14.2.1 安装FoldUP! 3D 226
14.2.2 工作界面 226
14.3 设计实例 229
14.3.1 结构设计 230
14.3.2 尺寸标注 231
14.3.3 盒片输出 231
14.3.4 进行平面设计 232
14.3.5 检验设计数据 233
14.3.6 设置折叠参数 234
14.3.7 设置材料特征 235
14.3.8 预览3D效果 236
14.3.9 输出 238
习题 239
参考文献 240 2100433B