北航计算机图形学公选期末考试整理资料Word下载.docx
- 文档编号:13866533
- 上传时间:2022-10-14
- 格式:DOCX
- 页数:21
- 大小:347.42KB
北航计算机图形学公选期末考试整理资料Word下载.docx
《北航计算机图形学公选期末考试整理资料Word下载.docx》由会员分享,可在线阅读,更多相关《北航计算机图形学公选期末考试整理资料Word下载.docx(21页珍藏版)》请在冰豆网上搜索。
v基本思想:
对于每条线段P1P2分为三种情况处理:
(1)若P1P2完全在窗口内,则显示该线段P1P2简称“取”之。
(2)若P1P2明显在窗口外,则丢弃该线段,简称“弃”之。
(3)若线段不满足“取”或“弃”的条件,则在交点处把线段分为两段。
其中一段完全在窗口外,可弃之。
然后对另一段重复上述处理。
v为快速判断,采用如下编码方法:
每个区域赋予4位编码
若P1P2完全在窗口内code1=0,且code2=0,则“取”
若P1P2明显在窗口外code1&
code2≠0,则“弃”
在交点处把线段分为两段。
中点分割裁剪算法
与前一种Cohen-Sutherland算法一样首先对线段端点进行编码,并把线段与窗口的关系分为三种情况:
全在、完全不在和线段和窗口有交。
对前两种情况,进行一样的处理。
对于第三种情况,用中点分割的方法求出线段与窗口的交点。
求线段与窗口的交点
A、B分别为距P0、P1最近的可见点,Pm为P0P1中点
v从出发找最近可见点的方法
先求出的中点
若不是显然不可见的,并且在窗口中有可见部分,则距最近的可见点一定落在上,所以用代替;
否则取代替
再对新的求中点。
重复上述过程,直到长度小于给定的控制常数为止,此时收敛于交点A。
v从出发找最近可见点采用上面类似方法。
多边形裁剪
v基本思想是一次用窗口的一条边裁剪多边形。
v考虑窗口的一条边以及延长线构成的裁剪线
该线把平面分成两个部分:
可见一侧;
不可见一侧
v对于
情况
(1)仅输出顶点P;
情况
(2)输出0个顶点;
情况(3)输出线段PS与裁剪线的交点I;
情况(4)输出线段PS与裁剪线的交点I和终点P
上述算法仅用一条裁剪边对多边形进行裁剪,得到一个顶点序列,作为下一条裁剪边处理过程的输入。
对于每一条裁剪边,只是判断点在窗口哪一侧以及求线段PS与裁剪边的交点算法应随之改变。
多边形运算
1.多边形的覆盖
1)多边形覆盖情况分析
当两个多边形互相重叠时,就会产生覆盖的效果。
覆盖是指一个多边形部分或全部地盖掉了下面的另一个多边形
对于多边形的覆盖,特别是凹多边形,由于情况比较复杂,画图的步骤一般是:
①利用“重叠性检验”,排除不会发生覆盖的多边形。
②逐条求出被覆盖多边形的边和覆盖多边形轮廓边的交点。
③对交点进行排序。
④利用“包含性检验”,区分出被覆盖段和未覆盖段。
⑤绘图输出未覆盖线段。
2.多边形的布尔运算
1)布尔运算的概念
多边形的布尔运算指的是:
在两个多边形之间进行并、交、差的运算。
2)多边形的描述
任何一个多边形均是由顶点和边组成的。
所以可以把多边形的数据结构组成两张数据表:
顶点表和边表。
通常,在实际的布尔运算处理中,为了方便把多边形的边表改为环表。
环表是由组成多边形的顶点按照一定的顺序连接而成。
在环表中,每相邻两个顶点组成一条有向线段,它的方向与环的方向相同。
3)布尔运算的规则
在两个多边形有相互重叠的部分时,两个多边形可以进行布尔运算。
当两个多边形相互重叠时,表示两个多边形的两个环相交,其交点将有向直线段分为两部分:
环内部分和环外部分,分别表示处于另一个环的内部或外部。
交点分为出点和入点两种:
当一个环的有向线段经过交点进入另一环,则该交点称为入点;
反之,如果是走出另一环,则该交点称为出点。
在进行布尔运算时,搜索新环的路径应该从交点处开始。
其运算规则如下:
(1)并运算 顺着环的方向搜索,当遇到的交点为入点时,则从该点在另一环上的对应点转入另一环,然后沿另一环的方向搜索;
当遇到的交点为出点时,则继续顺着本环进行。
(2)交运算 顺着环的方向搜索,当遇到的交点为出点时,则从该点在另一环上的对应点转入另一环,然后沿另一环的方向搜索;
当遇到的交点为入点时,则继续顺着本环进行。
(3)差运算 进行差运算时,首先要将差环的原方向倒转过来,然后按照与并运算相同的规则进行处理。
曲线
曲线、曲面主要分为两种:
1.可以用一个称为标准方程解析式表示的,如圆、椭圆、双曲线、圆柱、圆球等。
2.大部分曲线是由实验数据来给出的,只有一些数据点,称为“型值点”。
常见二次曲线的绘制
1.绘制方法
(1)曲线的方程取参数方程。
(2)将曲线分割成很多短线段,用这些短线段来逼近曲线。
/*正弦曲线*/
#include<
graphics.h>
math.h>
#definePI3.1415926
main()
{
intdlt,x;
floatn0,s0,n,s,ds,dn;
intgdriver=DETECT,gmode;
initgraph(&
gdriver,&
gmode,"
"
);
setbkcolor(15);
setcolor(4);
dlt=3;
ds=sin(2*dlt*PI/640);
dn=cos(2*dlt*PI/640);
s0=0;
n0=1;
line(0,240,640,240);
moveto(0,240);
x=0;
while(x<
640)
{
s=s0*dn+n0*ds;
n=n0*dn-s0*ds;
x=x+dlt;
lineto(x,240–160*s);
s0=s;
n0=n;
}
getch();
closegraph();
}
曲线参数表示
Ø
参数表示:
曲线上任一点的坐标均表示成给定参数的函数。
假定用t表示参数,平面曲线上任一点P可表示为:
空间曲线上任一三维点P可表示为:
参数表示例子:
直线
圆
参数表示的优点:
1)有更大的自由度来控制曲线、曲面的形状
2)对曲线、曲面进行变换,可对其参数方程直接进行几何变换。
3)便于处理斜率为无穷大的情形,不会因此而中断计算。
4)便于用户把低维空间中曲线、曲面扩展到高维空间去。
5)规格化的参数变量t∈[0,1],使其相应的几何分量是有界的,而不必用另外的参数去定义边界。
6)易于用矢量和矩阵表示几何分量,简化了计算。
位置矢量、切矢量
●曲线上任一点的位置矢量可表示为:
P(t)=[x(t),y(t),z(t)];
●
●切向量(切矢量)
•选择弧长s作为参数,则
•于是有,即为单位矢量
插值、拟合、逼近
给定一组有序的数据点Pi,i=0,1,…,n,构造一条曲线顺序通过这些数据点,称为对这些数据点进行插值,所构造的曲线称为插值曲线。
线性插值:
假设给定函数f(x)在两个不同点x1和x2的值,用一个直线:
y=ax+b近似代替,称为线性插值。
抛物线插值:
已知在三个互异点的函数值为,要求构造一个函数
使抛物线在结点处与在
处的值相等
拟合:
构造一条曲线使之在某种意义下最接近给定的数据点(但未必通过这些点),所构造的曲线为拟合曲线。
在计算数学中,逼近通常指用一些性质较好的函数近似表示一些性质不好的函数。
在计算机图形学中,逼近继承了这方面的含义,因此插值和拟合都可以视为逼近。
抛物样条曲线
1、抛物线样条的由来
最主要的由来是由于二次曲线是曲线中最简单的,用它来拟合一般型值点比较方便。
2、过三点定义一段抛物线
设不在同一条直线上的三点:
P1,P2,P3,过P1,P2,P3三点抛物线方程为:
每相邻的四个点可以决定中间一段抛物线样条曲线。
2、曲线的讨论
(1)端点条件
前面我们讲到,在全部点列P[i](I=1,2,…,n)中,我们只能得到n-3段曲线。
但n个点之间应当有n-1个曲线段,因为点列的首、尾两段P[1]P[2]和P[n-1]P[n]由于缺乏连续相邻的四点这样的条件而无法产生。
为了产生首尾两段曲线,一个最直接的方法是在原点列的两端各加入一个辅助点P[0]和P[n+1]。
如何加上点P[0]和P[n+1]呢?
通常有三种方法:
(1)已知两端的切矢P[1]‘和P[n]‘.
P[1]’=P[2]-P[0]\P[0]=P[2]-P[1]’
P[1]’=P[2]-P[0]\P[n+1]=P[n-1]+P[n]’
(2)自由端点
取P[0]=P[1]、P[n+1]=P[n]
(3)形成封闭曲线
取P[n+1]=P[1],P[0]=P[n],P[n+2]=P[2]
2.抛物线样条的性质
我们可以证明,抛物样条是一阶光滑的。
连续性曲线间连接的光滑度的度量有两种:
●函数的可微性:
组合参数曲线在连接处具有直到n阶连续导矢,即n阶连续可微,这类光滑度称之为或n阶参数连续性。
●几何连续性:
组合曲线在连接处满足不同于的某一组约束条件,称为具有n阶几何连续性,简记为。
若要求在结合处达到连续或连续,即两曲线在结合处位置连续:
若要求在结合处达到连续,就是说两条曲线在结合处在满足连续的条件下,并有公共的切矢
当a=1时,连续就成为连续
若要求在结合处达到连续,就是说两条曲线在结合处在满足连续的条件下,并有公共的曲率矢:
三次参数曲线
代数形式
●上述代数式写成矢量式是
几何形式
●对三次参数曲线,若用其端点位矢P(0)、P
(1)和切矢P¢
(0)、P¢
(1)描述。
●将P(0)、P
(1)、P¢
(0)和P¢
(1)简记为P0、P1、P¢
0和P¢
1,代入
得
●令:
可将其简化为:
上式是三次Hermite曲线的几何形式,几何系数是P0、P1、P¢
1。
称为调和函数(或混合函数)
二维图形的运算
1.交点计算
1.1两直线段的交点
则两条直线段的参数方程为:
如果两条直线相交,则满足
(1)Δ=0
方程组无解。
说明两条直线段所在直线相互平行或重合,所以不相交,没有交点产生。
(2)Δ¹
方程组有唯一解。
如果0£
u£
1则说明交点P位于线段S1上。
否则,交点P位于线段S1延长线上。
如果0£
v£
1则说
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北航 计算机 图形学 期末考试 整理 资料