32理论+8实验 (学时)
40%阶段+40%期末考+20%实验 【成绩】
文章目录
1、计算机图形学-简介
概念:计算机图形学是研究通过计算机将数据转换为图形,并在专门的显示设备上显示的原理、方法和技术的学科。(数据 -> 图形&图像)
例如:画一条直线。
图形构成要素:
①几何要素(几何属性):点、线、面、体
②非几何要素(视觉属性):明暗、色彩、纹理、透明性等
2、主要研究内容
要在计算机上生成一幅表示物体的图形,有三要素:
- 造型技术
在计算机中建立所要生成图形的物体的模型,即给出表示该物体的几何数据和拓扑关系。如:长方体的三维数据。 - 绘制技术
按给定的观察点和观察方向,将物体模型在计算机屏幕上显示出来。比如:一个三维粉笔盒,我们在不同位置去观察它会看到不同形状(投影)。 - 人机交互技术
为造型和绘制这两个过程提供友好的人机界面。
研究还包括了科学计算可视化和三维数据场的可视化和仿真。自然景物的模拟生成(分形几何)。
3、与相关学科的关系
上图的描述如下:
注意区分:模式识别 & 计算机视觉
计算机视觉——>自主导航
4、主要应用领域
- 图形用户界面(GUI)
菜单、对话框、图表和工具栏等,提高了用户接口的直观性和友好型。 - 计算机辅助设计与制造(CAD / CAM)——工业领域
例如:
①工业界应用广泛。
②飞机、汽车、轻工、服装的外形设计。
③集成电路的设计。
④基于工程图纸的三维形体重建。 - 计算机动画——商业领域
卡通、影视效果(灾难场景、特技效果)等。 - 计算机艺术——艺术领域
广告设计、工业设计等。 - 系统环境模拟
飞行模拟舱(飞行格斗训练)等。 - 事务和商务数据的图形显示
饼图、柱状图等二维/三维图表。 - 地形地貌的和自然资源的图形显示
如地理信息系统(GIS),矿藏分布图,气象气流图。 - 科学计算的可视化
将数据在计算机屏幕上以图像的形式显现,以便观察自然现象和规律。
应用在气象预报、医学图像重建等。 - 虚拟手术仿真
医用CT扫描数据->三维图像,辅助医生判断。 - 多媒体应用
计算机辅助教学(CAI),教学娱乐。
5、C语言常用图形函数
图形函数库:
#include <graphics.h>
5.1 图形模式的初始化和关闭
- 显示器有两种显示模式
文本模式->图形模式 - 图形模式的初始化函数
void initgraph(int *gdriver,int *gmode,char *path);
(详见PPT)
-
图形模式的初始化方法
detect表示自动检测。 -
关闭图形模式
void closegraph();
5.2 C-绘图基本步骤
①设置屏幕为图形模式(initgraph)//记得加头文件(图形函数库)
②调用绘图函数绘制图形
③关闭图形模式(closegraph)
例题——
前三句完成图形模式的初始化(自动检测法);
第三句中“ ”若为空,就代表着图形驱动程序文件拷贝到当前应用程序所在目录下!
第四句是一个标准的矩形绘图函数,函数参数为横纵坐标。
5.3 设置屏幕颜色和清屏函数
例如:在一块白色画布上用红笔画画——
背景色:白色
前景色:线条是红色的
color参数:可以传入上图中的符号常数或各颜色的数值。
清屏函数——
void cleardevice(); //清除前景图形,不清除背景!
5.4 基本图形函数
本块内容认真过一遍ppt就能学会~
-
画点函数
第二个函数可以返回某点的颜色值。这俩函数很常用! -
有关坐标位置的函数
后两个很常用! -
画线函数
例题——
上述代码的解释————
①黑色:自动检测模式来完成图形模式初始化。
清屏->开始画画。设置背景色。
②红色:前景色设置为红色,然后画了四条线段(围成正方形)。
③绿色:前景色改为绿色,改变光标位置到(110,110),然后从这个位置开始连续画四个线段,围成了一个新的绿正方形。
④黄色:给出起始点,然后用linerel中给的增量算出新坐标并向新坐标画线,重复四次,形成新的正方形。
⑤关闭图形模式。 -
画圆弧类函数
例题——
-
画多边形类函数
第一个函数:画矩形更容易了!
第二个函数:绘制多边折线(一条接一条接下去)。可以画多边形!
例子——
5.5 设置线型和线宽
- 线性 =线条的样式。
默认时,系统会指定实线【缺省值=默认值】。
(用户自定义线型后面会专门介绍) - 线宽
(通常用像素点的个数来衡量)
默认时,系统会指定1个像素点的线宽【缺省值=默认值】。 - setlinestyle函数
用于设置当前绘图所用的线型和线宽。
重点来了——针对用户自定义线型
自定义线型,在我们使用时,它也会循环使用。
例题——
5.6 填充图形函数
下面两个函数一般搭配使用!!
- setfillstyle函数
为各种图形函数设置填充模式和颜色!
- floodfill函数
用于对一指定的封闭区域进行填充,其填充模式和颜色由setfillstyle函数指定。
(x,y)是封闭区域的内部点,不能是边界点!
例题——
- setfillpattern函数
实现用户自定义的填充模式~
例题——