计算机图形学复习资料
叠合、堆磊
图形迭合条件:范围一致、比例尺相同
可迭合内容:一幅线网图、多幅底图、等值线图、粘贴图
堆垒条件:[*.GRD]文件范围一致、比例尺相同。
可堆垒的内容:一幅等值线图在一幅线网图上方,两幅或多幅线网图堆垒。
堆垒方法:
在一个页面内依次打开待堆垒的图形文件,等值线图安排在线网图上方的适当位置,等值线图的 3D View 参
当 x,y 均为向量时,要求向量 x 与向量 y 的长度一致,则 plot(x,y)绘制出以 x 为横坐标,y 为纵坐标的二维图形。
当 x 为向量、y 为矩阵时,plot(x,y)用不同颜色的曲线绘制出 y 行或列对于 x 的图形。y 矩阵的行或列的选择取决
于 x,y 的维数,若 y 为方阵或 y 矩阵的列向量长度与 x 向量的长度一致,则绘制出 y 矩阵的各个列向量相对于 x
数设置要与线网图完全一致。
(计算体积和面积 P50)
Upper Surface 组:可选定一网格文件作为上表面(曲面);或设定上表面的 Z 为常数值(水平平面)。 Lower Surface 组:可选定一网格文件作为下表面(曲面);或设定下表面的 Z 为常数值(水平平面)。
在选定上表面的和下表面之后, 点击 OK 执行体积和面积计算。结果显示在编辑器窗口,可保存成 ASCII 文本文 件, 或拷贝和粘贴到绘图窗口。
图形绘制(重点)(常用形式)
MATLAB 最常用的二维绘图函数是 plot 函数,该函数将各个数据点用直线连接绘制图形。
MATLAB 的其它二维绘图函数中的绝大多数都是以 plot 为基础构造的。plot 函数可打开一个默认的图形窗口,它
还自动将数值标尺及单位标注添加到两个坐标轴上。
常用形式:1. plot(x,y)
计算机图形学概念
计算机图形学(Computer Graphics,简称 CG)是一种使用数学算法将二维或三维图形转化为计算机显示器的栅格形
式的科学。简单地说,计算机图形学的主要研究内容就是研究如何在计算机中表示图形、以及利用计算机进行图
形的计算、处理和显示的相关原理与算法。
MATLAB 编程 M 文件(作用,两大类)
>> patchm(latx,lonx,'y')
7)求十二边形与三角形的差,绘制成白色面片:
>> [latm,lonm]=polybool('minus',lat1,lon1,lat2,lon2)
>> patchm(latm,lonm,'w')
P99 矢量缓冲区
使用 bufferm 函数计算并返回缓冲区点集矢量:
3. plot(x,y,’参数’)
x,y 可以是向量或矩阵,与前面相同。参数选项为一个字符串,它决定了二维图形的颜色、线型以及数据点的图标
等。
4. plot(x1,y1,’参数 1’,x2,y2,’参数 2’ …)
说明:可以用同一函数在同一坐标系中画多幅图形,x1,y1 确定第一条曲线的坐标值,参数 1 为第一条曲线的选项
由 MATLAB 语言编写的磁盘文件称为 M 文件,其扩展名为.m,M 文件中还可以调用其它 M 文
件,也就是说 M 文件可以互相调用,甚至可以调用自己。
M 文件从功能上可分为两类:脚本文件和函数文件。调用脚本文件会自动执行一系列命令直至
输出结果;函数文件则为 MATLAB 提供了扩充性,通过函数文件,可以产生完成某一特定功能的函数。事实上,
表示方法时,地理数据以矢量格式保存,绘制成的地图称为矢量地图。这些数据由指定的坐标点列组成,并用其
他数据表示与相邻点的连接关系。
多边形布尔操作可以回答一系列与矢量数据多边形对象逻辑关系有关的问题。标准布尔操作包括交、并、差和异
或等,polybool 函数可以对两个矢量集合进行这些操作:
1)创建一个十二边形:
自动为其分配所需增加的空间
MATLAB while 循环语句,其功能是重复执行一条或者一组语句,重复次数由某个逻辑条件控制,—般来说其执行次
数是不能预先确定的。
MATLAB 中 if 条件语句的功能是:如果满足某个条件则执行一条或一组语句,否则就不执行其内部语句,或者执行
else 后面的语句。 这三种循环语句都要有 end 与之匹配。
5)计算多边形的并,绘成洋红色面片:
>> [latu,lonu]=polybool('union',lat1,lon1,lat2,lon2)
>> patchm(latu,lonu,'m')
(6)对多边形进行异或计算,显示成黄色面片:
>> [latx,lonx]=polybool('xor',lat1,lon1,lat2,lon2)
•
文本文件格式: *.txt
•
Golden 软件数据文件格式 *.dat,
•
Excel: *.xls
•
Lotus 工作表:*.wks
—需要三列数据,前两列为 x,y 坐标,第三列为变量值
-操作:
–
执行菜单命令 [Grid\Data],弹出 Open Data 对话框
–
选择要使用的文件
–
点击 0K,弹出离散数据插值对话框,选择要使用的数据集、网格化方法和要输出的网
>> plotm(lat1,lon1,'b')
>> plotm(lat2,lon2,'r')
4)计算多边形的交,绘制成绿色面片:
>> [lati,loni]=polybool('intersection',lat1,lon1,lat2,lon2)
>> patchm(lati,loni,'g')
原数据文件。
当执行残差计算后, 数据文件和残差的数据都显示在工作表窗口内。
空白文件
由离散的 XYZ 数据文件生成网格文件时,Surfer 将根据原始 X,Y 的取值范围和所选用的数学模型,自动生成一个
矩形网格。但在实际工作中,由于某些区域缺少原始数据或由于其它原因,有必要由规则的网格中剔除一个或多
个由封闭多边形定义的区域,被剔除的区域形成空白。在画图时, 等值线图上空白部分的等值线被消除掉;在线网 图上, 空白部分成为平行于基点平面的区域。
MATLAB 提供的标准函数大部分都是由函数文件定义的,这足以说明函数文件的重要性。函数文件的目的是扩展
MATLAB 功能,也就是说,函数文件利用 MATLAB 语言构造了一个新的 MATLAB 函数,而且这个函数的使用方 法与 MATLAB 本身提供的库函数一样。
编程函数?
从理论上讲,只要有顺序、循环和分支 3 种基本程序结构,MATLAB 就可以构成任何一种程序并完成相应的工作。
>> theta=(0:pi/6:2*pi)';
>> lat1=sin(theta);
>> lon1=cos(theta);
(2)创建一个三角形叠加到十二边形上:
>> lat2=[0 1 -1 0]';
>> lon2=[0 2 2 0]';
3)蓝线和红线将两个形状显示在一起:
>> axesm miller %miller 投影
参数;x2,y2 为第二条曲线的坐标值,参数 2 为第二条曲线的选项参数… … 。
二维绘图为主(PLOT) 创建世界地图 使用地图制作工具箱,可以在 MATLAB 环境中读取、分析和显示地理信息,地图制作工具箱可以用简单的命令创 建地图。使用工具箱提供的地图数据,可以创建详细的底图,在底图上还可以绘制自己的结果。尽管地图制作工 具箱提供了很多投影方法和几种地图集数据,但是利用它还是可以创建对大部分应用都合适的底图。创建地球底 图的命令是 worldmap,该命令选择一种投影方法和适合指定区域的地图集部分数据。可以用某个洲或国家的名称 以及经、纬度范围定义区域。当指定更小的区域时,worldmap 会使用更高分辨率的地图集数据,还可以用经、纬 度范围指定目标区域,还可以用矩阵数据创建底图,如果要用更高分辨率的地图集数据显示更小的区域,使用州 名或纬度、经度的范围,如果需要对投影和底图数据有更多控制时,可以使用更低级的 axesm 命令。 axesm 命令 用于准备地图坐标系和设置初始投影参数,然后可以添加选择的地图集数据。 操作矢量数据(交集、并集、差集等) 目前用于表示地形的地理空间数据类型主要有矢量数据和栅格数据两种。矢量数据用点、直线和多边形表示对象 的形状;而栅格数据把空间分割成用值表示的单元。 矢量数据可以表示地图,这些矢量用经度—纬度或投影坐标对表示点集、线形地图或区域地图的特征。使用这种
大学课程《计算机图形学》复习资料
SUFFER
等直线步骤(图形绘制方法)
等值线图可以表现地质变量在空间上的分布规律。
已知平面区域的一系列给定位置点,每个位置点有一个相连的测量值或属性值。
对平面区域网格化。
根据离散点的值,利用某种数学模型,插值确定给定网格节点的值。
绘制等值线。
-数据准备
—Surfer 支持多种数据格式:
与大多数计算机语言一样,MATLAB 有设计程序所必须的程序结构,即顺序结构、循环结构与分支结构。在 MATLAB 语言中,循环由 for 和 while 语句实现,分支主要由 if 语句实现。 MATLAB 提供的 for 循环语句,其功能是重复执行一条或一组语句的固定次数(也可以是零次) 如果 n 小于 1,语句的描述仍是合法的,只是 MATLAB 不执行其中的语句 x(i)=0,或者说执行零次。如果变量 x 不 存在,MATLAB 将自动生成该变量并为其分配存储空间;如果原先 x 变量的元素个数少于 n 个,则 MATLAB 也会