计算机图形学原理及实践 C语言描述

第1章    导言

    1.1    作为图像分析的图像处理

    1.2    交互式图形学的优点

    1.3    计算机图形学的典型用途

    1.4    应用分类

    1.5    计算机图形学硬件与软件的发展

        1.5.1    输出技术

        1.5.2    输入技术

        1.5.3    软件的可移植性与图形标准

    1.6    交互式图形学的概念框架

        1.6.1    概述

        1.6.2    应用建模

        1.6.3    对图形系统描绘观察的内容

        1.6.4    交互处理

    小结    习题

第2章    简单光栅图形软件包(SRGP)的编程

    2.1    用SRGP画图

        2.1.1    图形图元的规格

        2.1.2    属性

        2.1.3    填充图元及其属性

        2.1.4    存储和恢复属性

        2.1.5    文本

    2.2    基本交互处理

        2.2.1    人的因素

        2.2.2    逻辑输入设备

        2.2.3    采样与事件驱动处理

        2.2.4    采样模式

        2.2.5    事件模式

        2.2.6    交互处理中的关联拾取

        2.2.7    设置设备度量和属性

    2.3    光栅图形特性

        2.3.1    画布

        2.3.2    矩形框的裁剪

        2.3.3    SRGP_copyPixel操作

        2.3.4    写模式或RasterOp

    2.4    SRGP的局限性

        2.4.1    应用程序坐标系统

        2.4.2    为了重新定义存储图元

    小结    习题    程序设计项目

第3章    二维图元的基本光栅图形学算法

    3.1    概述

        3.1.1    显示系统体系结构的含义

        3.1.2    软件中的输出流水线

    3.2    直线的扫描转换

        3.2.1    基本增量算法

        3.2.2    中点线算法

        3.2.3    补充要点

    3.3    圆的扫描转换

        3.3.1    八方向对称性

        3.3.2    中点圆算法

    3.4    椭圆的扫描转换

    3.5    填充矩形

    3.6    填充多边形

        3.6.1    水平边

        3.6.2    狭长条

        3.6.3    边相关性和扫描线算法

    3.7    填充椭圆弧区域

    3.8    图案填充

    3.9    宽图元

        3.9.1    复制像素

        3.9.2    移动画笔

        3.9.3    填充边界之间的区域

        3.9.4    用宽折现进行逼近

    3.10    线型和笔型

    3.11    光栅空间的裁剪操作

    3.12    线段裁剪

        3.12.1    裁剪端点

        3.12.2    利用求解联立方程组的线段裁剪

        3.12.3    Cohen-Sutherland线裁剪算法

        3.12.4    参数化的线裁剪算法

    3.13    圆和椭圆的裁剪

    3.14    多边形裁剪

    3.15    生成字符

        3.15.1    定义和裁剪字符

        3.15.2    一种文本输出图元的实现

    3.16    SRGP_copyPixel

    3.17    反走样

        3.17.1    增加分辨率

        3.17.2    未加权的区域采样

        3.17.3    加权区域采样

        3.17.4    Gupta-Sproull反走样线扫描算法

    小结    习题

第4章    图形硬件

    4.1    硬拷贝技术

    4.2    显示技术

    4.3    光栅扫描显示系统

        4.3.1    简单的光栅显示系统

        4.3.2    具有外围显示处理器的光栅显示系统

        4.3.3    显示处理器的附加功能

        4.3.4    具有集成显示处理器的光栅显示系统

    4.4    视频控制器

        4.4.1    查找表动画

        4.4.2    位图变换和窗口技术

        4.4.3    视频混合

    4.5    随机扫描显示处理器

    4.6    用于操作者交互的输入设备

        4.6.1    定位设备

        4.6.2    键盘设备

        4.6.3    定值设备

        4.6.4    选择设备

    4.7    图像扫描仪

    小结    习题

第5章    几何变换

    5.1    二维变换

    5.2    齐次坐标和二维变换的矩阵表示

    5.3    二维变换的合成

    5.4    窗口到视口的变换

    5.5    效率

    5.6    三维变换的矩阵表示

    5.7    三维变换的合成

    5.8    坐标系的变换

    小结    习题

第6章    三维空间的观察

    6.1    投影

        6.1.1    透视投影

        6.1.2    平行投影

    6.2    指定一个任意的三维视图

    6.3    三维观察的例子

        6.3.1    透视投影

        6.3.2    平行投影

        6.3.3    有限的视见体

    6.4    平面几何投影的数学

    6.5    实现平面几何投影

        6.5.1    平行投影

        6.5.2    透视投影

        6.5.3    用三维规范视见体进行裁剪

        6.5.4    在齐次坐标中裁剪

        6.5.5    映射到一个视口

        6.5.6    实现小结

    小结    习题

第7章    对象的层次结构和简单的PHIGS系统

    7.1    几何造型

        7.1.1    什么是模型

        7.1.2    几何模型

        7.1.3    几何模型中的层次

        7.1.4    模型,应用程序和图形系统间的关系

    7.2    保留模式图形包的特点

        7.2.1    中央结构存储库及其优点

        7.2.2    保留模式软件包的局限性

    7.3    定义和显示结构

        7.3.1    打开和关闭结构

        7.3.2    定义输出图元及其属性

        7.3.3    提交结构进行显示遍历

        7.3.4    观察

        7.3.5    通过窗口管理共享屏幕的图像应用

    7.4    模型变换

    7.5    层次式结构网络

        7.5.1    两层层次结构

        7.5.2    简单的三层层次结构

        7.5.3    自底向上构造的机器人

        7.5.4    交互式造型程序

    7.6    显示遍历中的矩阵合成

    7.7    层次结构中外观属性的处理

        7.7.1    继承法则

        7.7.2    SPHIGS的属性及文字不受变换影响

    7.8    屏幕的更新和绘制模式

    7.9    用于动态效果的结构网络编辑

        7.9.1    利用索引和标记访问元素

        7.9.2    内部结构的编辑操作

        7.9.3    改进编辑方法的一些实例块

        7.9.4    如何控制屏幕图像的自动再生

    7.10    交互

        7.10.1    定位器

        7.10.2    关联拾取

    7.11    其他输出特性

        7.11.1    属性包

        7.11.2    高亮度和不可见性的名字集

        7.11.3    图像交换与元文件

    7.12    实现问题

        7.12.1    绘制

        7.12.2    关联拾取

    7.13    层次模型的优化显示

        7.13.1    省略

        7.13.2    参考结构

    7.14    PHIGS中层次模型的局限性

        7.14.1    简单层次结构的局限性

        7.14.2    SPHIGS“参数传递”的局限性

    7.15    层次建模的其他形式

        7.15.1    过程层次

        7.15.2    数据层次

        7.15.3    利用数据库系统

    小结    习题

第8章    输入设备,交互技术与交互任务

    8.1    交互硬件

        8.1.1    定位设备

        8.1.2    键盘设备

        8.1.3    定值设备

        8.1.4    选择设备

        8.1.5    其他设备

        8.1.6    三维交互设备

        8.1.7    设备级人的因素

    8.2    基本交互任务

        8.2.1    定位交互任务

        8.2.2    选择交互任务——大小可变的选项集合

        8.2.3    选择交互任务——相对固定大小的选项集合

        8.2.4    文本交互任务

        8.2.5    定量交互任务

        8.2.6    三维交互任务

    8.3    复合交互任务

        8.3.1    对话框

        8.3.2    构造技术

        8.3.3    动态操纵

    习题

第9章    对话设计

    9.1    人机对话的形式和内容

    9.2    用户界面风格

        9.2.1    所见即所得

        9.2.2    直接操纵

        9.2.3    图标化用户界面

        9.2.4    其他对话形式

    9.3    一些重要的设计问题

        9.3.1    一致性

        9.3.2    提供反馈

        9.3.3    减少错误概率

        9.3.4    提供错误恢复

        9.3.5    容许多种熟练级别

        9.3.6    减少记忆

    9.4    模式和语法

    9.5    视觉设计

        9.5.1    视觉清晰性

        9.5.2    视觉编码

        9.5.3    视觉的一致性

        9.5.4    布局原则

    9.6    设计方法学

    小结    习题

第10章    用户界面软件

    10.1    基本的交互处理模型

    10.2    窗口管理系统

    10.3    窗口系统中的输出处理

    10.4    窗口系统中的输入处理

    10.5    交互技术工具箱

    10.6    用户界面管理系统

        10.6.1    对话序列

        10.6.2    高级UIMS概念

    习题

第11章    曲线与曲面的表示

    11.1    多边形网格

        11.1.1    多边形网格的表示

        11.1.2    多边形网格表示法的一致性

        11.1.3    平面方程

    11.2    三次参数曲线

        11.2.1    Hermite曲线

        11.2.2    Bezier曲线

        11.2.3    均匀非有理B样条曲线

        11.2.4    非均匀非有理B样条曲线

        11.2.5    非均匀有理三次多项式曲线段

        11.2.6    其他样条曲线

        11.2.7    曲线分割

        11.2.8    各种表示法之间的转换

        11.2.9    曲线绘制

        11.2.10    三次曲线的比较

    11.3    双三次参数曲面

        11.3.1    Hermite曲面

        11.3.2    Bezier曲面

        11.3.3    B样条曲面

        11.3.4    曲面的法线

        11.3.5    双三次曲面的显示

    11.4    二次曲面

    小结    习题

第12章    实体造型

    12.1    实体表示

    12.2    正则布尔集合运算

    12.3    基本实体举例法

    12.4    扫掠表示法

    12.5    边界表示法

        12.5.1    多面体和欧拉公式

        12.5.2    翼边表示法

        12.5.3    布尔集合运算

        12.5.4    非多边形的边界表示法

    12.6    空间划分表示法

        12.6.1    单元分解法

        12.6.2    空间位置枚举法

        12.6.3    八叉树表示法

        12.6.4    二元空间划分树

    12.7    构造实体几何

    12.8    各种表示法的比较

    12.9    实体造型的用户界面

    小结    习题

第13章    消色差光与彩色光

    13.1    消色差光

        13.1.1    选择亮度值——gamma校正

        13.1.2    半色调逼近

    13.2    彩色

        13.2.1    心理物理学

        13.2.2    CIE色度图

    13.3    用于光栅图形的颜色模型

        13.3.1    RGB颜色模型

        13.3.2    CMY颜色模型

        13.3.3    YIQ颜色模型

        13.3.4    HSV颜色模型

        13.3.5    HLS颜色模型

        13.3.6    颜色的交互指定

        13.3.7    在颜色空间中进行插值

    13.4    颜色再现

    13.5    在计算机图形学中应用颜色

    小结    习题

第14章    可视图像真实感的探讨

    14.1    为什么讨论真实感

    14.2    基本的困难

    14.3    线条图的绘制技术

        14.3.1    多正交视图

        14.3.2    轴测投影和斜投影

        14.3.3    透视投影

        14.3.4    深度提示

        14.3.5    深度裁剪

        14.3.6    纹理

        14.3.7    颜色

        14.3.8    可见线的判定

    14.4    明暗图像的绘制技术

        14.4.1    可见面的判定

        14.4.2    光照和明暗处理

        14.4.3    插值明暗处理

        14.4.4    材质属性

        14.4.5    曲面造型

        14.4.6    改进光照和明暗效果

        14.4.7    纹理

        14.4.8    阴影

        14.4.9    透明性和反射

        14.4.10    改进的相机模型

    14.5    改进的物体模型

    14.6    动力学

    14.7    立体观测

    14.8    改进的显示技术

    14.9    与其他感官的交互

    14.10    走样与反走样

        14.10.1    点采样

        14.10.2    区域采样

        14.10.3    采样理论

        14.10.4    滤波

        14.10.5    重构

        14.10.6    实际的反走样

    小结    习题

第15章    可见面的判定

    15.1    双变量函数

    15.2    可见面判定算法中的常用技术

        15.2.1    相关性

        15.2.2    透视变换

        15.2.3    范围与包围体

        15.2.4    背面消除

        15.2.5    空间划分

        15.2.6    层次结构

    15.3    可见线判定算法

        15.3.1    Roberts算法

        15.3.2    Appel算法

        15.3.3    光环线算法

    15.4    z缓存算法

    15.5    列表优先级算法

        15.5.1    深度排序算法

        15.5.2    二元空间划分树

    15.6    扫描线算法

    15.7    区域细分算法

        15.7.1    Warnock算法

        15.7.2    Weiler-Atherton算法

        15.7.3    子像素区域细分算法

    15.8    八叉树算法

    15.9    曲面算法

    15.10    可见面光线跟踪

        15.10.1    相交计算

        15.10.2    可见面光线跟踪算法的效率

        15.10.3    计算布尔集合运算

        15.10.4    反走样光线跟踪

    小结    习题

第16章    光照和明暗处理

    16.1    光照模型

        16.1.1    环境光

        16.1.2    漫反射

        16.1.3    大气衰减

        16.1.4    镜面反射

        16.1.5    点光源模型的改进

        16.1.6    多光源

    16.2    多边形的明暗处理模型

        16.2.1    恒定明暗处理

        16.2.2    插值明暗处理

        16.2.3    多边形网格的明暗处理

        16.2.4    Gouraud明暗处理技术

        16.2.5    Phong明暗处理技术

        16.2.6    插值明暗处理中的问题

    16.3    曲面细节

        16.3.1    曲面细节多边形

        16.3.2    纹理映射

        16.3.3    凹凸映射

        16.3.4    其他方法

    16.4    阴影

        16.4.1    扫描线生成阴影算法

        16.4.2    对象精确的两步法阴影算法

        16.4.3    阴影体

        16.4.4    两遍z缓存阴影算法

        16.4.5    全局光照阴影算法

    16.5    透明性

        16.5.1    无折射的透明性

        16.5.2    折射透明性

    16.6    物体间的反射

    16.7    基于物理的光照模型

        16.7.1    表面模型的改进

        16.7.2    微面元分布函数

        16.7.3    几何衰减因子

        16.7.4    菲涅尔项

    16.8    扩展光源模型

    16.9    光谱采样

    16.10    相机模型的改进

    16.11    全局光照算法

    16.12    递归光线跟踪

        16.12.1    递归光线跟踪算法的效率考虑

        16.12.2    一个更佳的照明模型

        16.12.3    区域采样的不同方法

        16.12.4    分布式光线跟踪

        16.12.5    从光源出发的光线跟踪

    16.13    辐射度方法

        16.13.1    辐射度方程

        16.13.2    计算形状因子

        16.13.3    子结构技术

        16.13.4    逐步求精算法

        16.13.5    更加精确的形状因子的计算

        16.13.6    镜面反射

        16.13.7    辐射度和光线跟踪的结合

    16.14    绘制流水线

        16.14.1    局部光照绘制流水线

        16.14.2    全局光照绘制流水线

        16.14.3    设计灵活的绘制法

        16.14.4    逐步求精方法

    小结    习题

第17章    图像处理和存储

    17.1    什么是图像

    17.2    滤波

    17.3    图像处理

    17.4    图像的几何变换

        17.4.1    基本几何变换

        17.4.2    带滤波的几何变换

        17.4.3    其他图案映射技术

    17.5    多重变换

        17.5.1    多重变换的代数学

        17.5.2    利用滤波生成变换后的图像

        17.5.3    评价变换方法

    17.6    图像合成

        17.6.1    a通道合成

        17.6.2    其他合成方法

        17.6.3    通过填充机制生成a值

        17.6.4    用于图像组装的一个界面

    17.7    图像存储机制

        17.7.1    存储图像数据

        17.7.2    用于图像压缩的迭代函数系统

        17.7.3    图像属性

    17.8    图像的特殊效果

    小结    习题

第18章    高级光栅图形体系结构

    18.1    简单光栅显示系统

        18.1.1    帧缓冲内存访问问题

        18.1.2    动态存储器

        18.1.3    提高帧缓冲内存带宽

        18.1.4    视频RAM

        18.1.5    高分辨率显示器的帧缓存

    18.2    显示处理器系统

        18.2.1    外部显示处理器

        18.2.2    德克萨斯仪器公司的TMS34020——单芯片外部显示处理器

        18.2.3    集成的图形处理器

        18.2.4    Intel的i860——一个具有集成3D图形支持的单芯片微处理器

        18.2.5    三个性能障碍

    18.3    标准图形流水线

        18.3.1    显示遍历

        18.3.2    模型变换

        18.3.3    简单接收/简单拒绝的区分

        18.3.4    光照处理

        18.3.5    观察变换

        18.3.6    裁剪

        18.3.7    除以w并映射到3D视口

        18.3.8    光栅化

        18.3.9    一个样板应用的性能要求

    18.4    多处理简介

        18.4.1    流水线

        18.4.2    并行性

        18.4.3    多处理器图形系统

    18.5    流水线前端体系结构

        18.5.1    应用程序和显示遍历

        18.5.2    几何变换

        18.5.3    简单接受/简单拒绝的区分

        18.5.4    光照处理

        18.5.5    裁剪

        18.5.6    除w并映射到3D视口

        18.5.7    前端流水线的限制

    18.6    并行前端体系结构

        18.6.1    显示遍历

        18.6.2    重组并行数据流

        18.6.3    流水线同并行性的比较

    18.7    多处理器光栅化体系结构

        18.7.1    以物体为序的流水线体系结构

        18.7.2    以图像为序的流水线体系结构

        18.7.3    流水线光栅化的限制和对并行性的需求

    18.8    图像并行光栅化

        18.8.1    内存划分体系结构

        18.8.2    Silicon Graphics公司的POWER IRIS 4D/240GTX——一个交叉划分帧缓冲内存体系结构

        18.8.3    逻辑增强的内存

    18.9    物体并行光栅化

        18.9.1    每图元一个处理器的流水线

        18.9.2    基于树结构的每图元一个处理器的体系结构

        18.9.3    物体并行性和图像并行性的比较

    18.10    混合并行光珊化

        18.10.1    虚拟缓冲区和虚拟处理器

        18.10.2    并行虚拟缓冲区体系结构

        18.10.3    图像合成体系结构

    18.11    增强的显示能力

        18.11.1    对多窗口的支持

        18.11.2    对增加的真实感的支持

        18.11.3    Stellar GS2000——促进真实感绘制的紧密集成的体系结构

        18.11.4    对高级图元的支持

        18.11.5    对增强的3D感知的支持

        18.11.6    实时飞行模拟器

    小结    习题

第19章    高级几何与光栅算法

    19.1    裁剪

        19.1.1    矩形区域对直线的裁剪

        19.1.2    矩形和其他多边形区域对多边形的裁剪

        19.1.3    矩形区域裁剪:梁友栋-Barsky多边形算法

        19.1.4    Weiler多边形算法

    19.2    图元的扫描转换

        19.2.1    属性

        19.2.2    评价扫描转换算法的准则

        19.2.3    直线的其他考察方式

        19.2.4    高级折现算法

        19.2.5    画圆算法的改进

        19.2.6    一般圆锥曲线算法

        19.2.7    宽图元

        19.2.8    填充图元

    19.3    反走样

        19.3.1    直线的反走样

        19.3.2    圆的反走样

        19.3.3    圆锥曲线的反走样

        19.3.4    一般曲线的反走样

        19.3.5    矩形,多边形和直线端点的反走样

    19.4    文字的特殊问题

    19.5    填充算法

        19.5.1    区域类型,连通性和填充

        19.5.2    基本填充算法

        19.5.3    软填充算法

    19.6    加速copyPixel

    19.7    形状数据结构和形状代数

    19.8    用bitBIt管理窗口

    19.9    页面描述语言

    小结    习题

第20章    高级建模技术

    20.1    前述技术的扩展

        20.1.1    采用样条的高级建模技术

        20.1.2    基于噪声的纹理映射

    20.2    过程模型

    20.3    分形模型

    20.4    基于文法的模型

    20.5    粒子系统

    20.6    体绘制

    20.7    基于物理的建模

        20.7.1    基于约束的建模

        20.7.2    布面和柔软表面的建模

        20.7.3    实体建模

        20.7.4    地形建模

    20.8    模拟自然物体和合成物体的特殊模型

        20.8.1    波浪

        20.8.2    云层和气象

        20.8.3    湍流

        20.8.4    滴状物体

        20.8.5    生物

        20.8.6    人

        20.8.7    来自娱乐业的一个粒子

    20.9    自动放置物体

    小结    习题

第21章    动画

    21.1    传统动画和计算机辅助动画

        21.1.1    传统动画

        21.1.2    计算机辅助动画

        21.1.3    插值

        21.1.4    简单的动画效果

    21.2    计算机动画语言

        21.2.1    线性表表示法

        21.2.2    通用计算机语言

        21.2.3    图形语言

    21.3    动画控制方法

        21.3.1    完全显式的控制

        21.3.2    过程化控制

        21.3.3    基于约束的系统

        21.3.4    真实动作跟踪

        21.3.5    演员

        21.3.6    运动学和动力学

        21.3.7    基于物理的动画

    21.4    动画的基本规则

    21.5    动画特有的一些问题

    小结    习题

附录    计算机图形学的属性基础

参考文献    索引

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,634评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,951评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,427评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,770评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,835评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,799评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,768评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,544评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,979评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,271评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,427评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,121评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,756评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,375评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,579评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,410评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,315评论 2 352

推荐阅读更多精彩内容