计算机图形学基础教程
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
– 直线
P(t ) P1 ( P2 P1 )t , t [0,1]
– 圆
1 t 2 2t P(t ) , 2 2 1 t 1 t
清华大学
t [0,1]
计算机图形学
参数表示的优点:
(1)以满足几何不变性的要求。 (2)有更大的自由度来控制曲线、曲面的形状 (3)对曲线、曲面进行变换,可对其参数方程直接 进行几何变换。 (4)便于处理斜率为无穷大的情形,不会因此而中 断计算。
清华大学
计算机图形学
• 光顺(Fairing)指曲线的拐点不能太多。对平面曲线而 言,相对光顺的条件是:
–a. 具有二阶几何连续性(G2);
–b. 不存在多余拐点和奇异点;
–c. 曲率变化较小。
清华大学
计算机图形学
3.1.4 参数化
• 过三点P0 、P1 和P2 构造参数表示的插值多项式 可以有无数条,这是因为对应地参数t, 在[0, 1]区间中有无数种取法。即P0 、P1 和P2 可对应 不同的参数值,比如,
–上述代数式写成矢量式是
P (t ) a3t a2t a1t a0
3 2
t [0,1]
计算机图形学
清华大学
• 几何形式
– 对三次参数曲线,若用其端点位矢P(0)、P(1)和切矢P(0)、 P(1)描述。
– 将P(0)、P(1)、P(0)和P(1)简记为P0、P1、P0和P1,代入
弦长修正系数Ki>=1。从公式可知,与前后邻弦长及相
清华大学 计算机图形学
比,若越小,且与前后邻弦边夹角的外角i-1和 i(不超过时)越 大,则修正系数就K i 就越大。
• 参数区间的规格化
我们通常将参数区间
[t0规格化为[0, 1], ,tn ]
[t0, t n ] [0,1] ,只需对参数化区间作如下处理:
t0 0, t1 1 , t 2 1,或 2
t 0 0, t1 1 , t 2 1, 2
其中每个参数值称为节点(knot)。
清华大学
计算机图形学
• 对于一条插值曲线,型值点 P0 , P , , Pn与其参 1 数域 t [t 0 , t n ] 内的节点之间有一种对应关系。 对于一组有序的型值点,所确定一种参数分割, 称之这组型值点的参数化。
T1
T (s )
N1 B1
N0 B0
O (a) 图3.1.3 曲率和挠率
清华大学
(b)
计算机图形学
3.1.3 插值、拟合、逼近和光顺
• 给定一组有序的数据点Pi,i=0, 1, …, n,构 造一条曲线顺序通过这些数据点,称为对这些 数据点进行插值,所构造的曲线称为插值曲线。
清华大学
计算机图形学
' 0 0
' 1 1
t [0,1]
上式是三次Hermite(Ferguson)曲线的几何形式,几何 系数是P0、P1、P0和P1。
F0 , F1 , G0 , G1 称为调和函数(或混合函数)
清华大学 计算机图形学
P
' 1
F0 1
F1 1
P0'
–法矢量
dT •与 平行的法矢称为曲线在该点的主法矢N ds
• 矢量积 B T N 是第三个单位矢量,它垂直于T和N。把 平行于矢量B的法矢称为曲线的副法矢矢 • 我们可以推导出:
P(t ) P(t ) B P(t ) P(t ) ( P(t ) P(t )) P(t ) N B T ( P(t ) P(t )) P(t )
清华大学
计算机图形学
• 参数化常用方法有:
–均Biblioteka Baidu参数化(等距参数化)
• 节点在参数轴上呈等距分布, ti 1 ti +正常数。
–累加弦长参数化
t0 0 ti ti 1 Pi 1 ,i 1,2, ,n
Pi Pi 1 Pi
这种参数法如实反映了型值点按弦长的分布情况,能够 克服型值点按弦长分布不均匀的情况下采用均匀参数化 所出现的问题。
第三章 几何造型技术 清华大学
• 几何造型技术是一项研究在计算机中,如何表 达物体模型形状的技术。
• 描述物体的三维模型有三种: 线框模型、曲面模型和实体模型。
清华大学
计算机图形学
–线框模型用顶点和棱边来表示物体。
• 由于没有面的信息,它不能表示表面含有曲面的 物体; • 它不能明确地定义给定点与物体之间的关系(点 在物体内部、外部或表面上)。
清华大学
计算机图形学
(5)便于用户把低维空间中曲线、曲面扩展到高维空间
去。 (6)规格化的参数变量t∈[0, 1],使其相应的几何分 量是有界的,而不必用另外的参数去定义边界。 (7)易于用矢量和矩阵表示几何分量,简化了计算。
清华大学
计算机图形学
3.1.2 位置矢量、切矢量、法矢量、 曲率和挠率
清华大学
计算机图形学
–实体模型能完整表示物体的所有形状信息,可以无
歧义地确定一个点是在物体外部、内部或表面上。 是最高级的模型。
• 这种模型能够进一步满足物性计算、有限元分析等应用的
要求。
清华大学
计算机图形学
• 三维表面模型表示三维物体的信息并不完整, 但它能够表达复杂的雕刻曲面,在几何造型中 具有重要的地位,对于支持曲面的三维实体模 型,表面模型是它的基础。
清华大学 计算机图形学
t [0,1]
–令: F (t ) 2t 3 3t 2 1 F (t ) 2t 3 3t 2 0 1
可将其简化为:
G0 (t ) t 3 2t 2 t
G1 (t ) t t
3
2
P (t ) F0 P0 F1 P1 G P G P
计算机图形学
清华大学
.对于一般参数t,我们可以推导出曲率和挠率的 计算公式如下:
P(t ) P(t ) P(t )
3
( P(t ), P(t ), P(t )) ( P(t ) P(t )) 2
清华大学
计算机图形学
B1
T
B0 T0
T ( s s )
清华大学 计算机图形学
3.1 参数曲线和曲面
• 3.1.1 曲线曲面参数表示
–显式表示:y=f(x) –隐式表示:f(x,y)=0 –参数表示:P(t)=[x(t), y(t), z(t)]
清华大学
计算机图形学
• 显式或隐式表示存在下述问题:
(1)与坐标轴相关; (2)会出现斜率为无穷大的情形(如垂线); (3) 不便于计算机编程。
清华大学
计算机图形学
• 参数表示:曲线上任一点的坐标均表示成给定 参数的函数。假定用t表示参数,平面曲线上 任一点P可表示为:
P(t ) x(t ), y (t )
• 空间曲线上任一三维点P可表示为:
P(t ) x(t ), y (t ), z (t )
清华大学 计算机图形学
• 参数表示例子:
–修正弦长参数化法
t0 0 ti ti 1 K i Pi 1 ,i 1,2, ,n
Pi i 3 Pi 2 i 1 Ki 1 2 Pi 2 Pi 1 Pi 1 Pi
i min Pi 1 Pi Pi 1 , , P1 Pn 0 2
清华大学 计算机图形学
–T(切矢)、N(主法矢)和B(副法矢)构成了曲线上的 活动坐标架 –N、B构成的平面称为法平面,N、T构成的平面称为 密切平面,B、T构成的平面称为从切平面。
法平面
B
从 切 面
N T
清华大学
密切面
主法线
图3.1.2 曲线的法矢
计算机图形学
– 曲率和挠率
T ' lim
–线性插值:假设给定函数f(x)在两个不同点x1和x2 的值,用一个线形函数:y=ax+b,近似代替,称为 的线性插值函数。 –抛物线插值:已知在三个互异点 x1 , x 2 , x3 的函数值 为 y1 , y 2 , y,要求构造一个函数 3
( x) ax 2 bx c
使抛物线 (x )在结点 xi (i 1,2,3) 处与 f (x) 在
清华大学
计算机图形学
–表面模型用面的集合来表示物体,而用环来定义面 的边界。
• 表面模型能够满足面面求交、线面消隐、明暗色彩图、数 控加工等需要。 • 但在该模型中,只有一张张面的信息,物体究竟存在于表 面的哪一侧,并没有给出明确的定义,无法计算和分析物 体的整体性质。如物体的体积、重心等。 • 也不能将这个物体作为一个整体去考察它与其它物体相互 关联的性质,如是否相交等。
ds / dt
2
dx / dt dy / dt dz / dt P (t )
2 2 2 '
2
dP dP dt P ' (t ) ,即为单位矢量 • 于是有 ' ds dt ds P (t )
清华大学 计算机图形学
ds P ' (t ) 0 dt
清华大学
计算机图形学
• 几何造型的历史
– 曲面造型:60年代,法国雷诺汽车公司、Pierre Bézier、 汽车外形设计的UNISURF系统。 – 实体造型:1973英国剑桥大学CAD小组的Build系统、 美国罗彻斯特大学的PADL-1系统等。 – 独立发展起来,又合二为一。 – 主流:基于线框、曲面、实体、特征统一表示的造型设 计系统
–曲线上任一点的位置矢量可表示为: P(t)=[x(t), y(t), z(t)];
清华大学
计算机图形学
清华大学
计算机图形学
–切向量(切矢量)
• 选择弧长s作为参数,则 T dP lim P ds s 0 s • 根据弧长微分公式有: 是单位切矢
ds 2 dx 2 dy 2 dz 2
ti t 0 0,ti ,i 0,1, ,n tn
清华大学 计算机图形学
3.1.5 参数曲线的代数和几何形式
我们以三次参数曲线为例,讨论参数曲线的代数和几何形式。
• 代数形式
x(t ) a3 x t 3 a2 x t 2 a1x t a0 x 3 2 y (t ) a3 y t a2 y t a1 y t a0 y z (t ) a3 z t 3 a2 z t 2 a1z t a0 z t [0,1]
得
P (t ) a3t a2t a1t a0
3 2
t [0,1]
a0 P0 a1 P0' a2 3P0 3P 2 P ' 0 P ' 1 1 a 2 P 2 P P P ' 0 1 0 1 3
P (t ) (2t 3 3t 2 1) P0 ( 2t 3 3t 2 ) P (t 3 2t 2 t ) P0' (t 3 t 2 ) P1' 1
T T lim s 0 s s 0 s s
即 lim s 0
s
称为曲率,其几何意义是曲线的单位切矢对弧长的转 动率
曲率k的倒数
1
挠率 的绝对值等于副法线方向(或密切平面)对 于弧长的转动率.
称为曲率半径。
lim
s
s
清华大学 计算机图形学
–向心参数化法
t0 0 ti ti 1 Pi 1
1 2
,i 1,2, ,n
向心参数化法假设在一段曲线弧上的向心力与曲线 切矢从该弧段始端至末端的转角成正比,加上一些 简化假设,得到向心参数化法。此法尤其适用于非 均匀型值点分布。
清华大学 计算机图形学
xi 处的值相等
清华大学 计算机图形学
y
y y f (x)
y (x)
y f (x)
y (x)
y1
y2
x2
x
y1
y2
y3
o
x1
(a)
o
x1
x2
(b)
x3
x
图3.1.4 线性插值和抛物插值
清华大学
计算机图形学
• 拟合:构造一条曲线使之在某种意义下最接近给定的 数据点(但未必通过这些点),所构造的曲线为拟合曲 线。 • 在计算数学中,逼近通常指用一些性质较好的函数近 似表示一些性质不好的函数。在计算机图形学中,逼 近继承了这方面的含义,因此插值和拟合都可以视为 逼近。
P(t ) P1 ( P2 P1 )t , t [0,1]
– 圆
1 t 2 2t P(t ) , 2 2 1 t 1 t
清华大学
t [0,1]
计算机图形学
参数表示的优点:
(1)以满足几何不变性的要求。 (2)有更大的自由度来控制曲线、曲面的形状 (3)对曲线、曲面进行变换,可对其参数方程直接 进行几何变换。 (4)便于处理斜率为无穷大的情形,不会因此而中 断计算。
清华大学
计算机图形学
• 光顺(Fairing)指曲线的拐点不能太多。对平面曲线而 言,相对光顺的条件是:
–a. 具有二阶几何连续性(G2);
–b. 不存在多余拐点和奇异点;
–c. 曲率变化较小。
清华大学
计算机图形学
3.1.4 参数化
• 过三点P0 、P1 和P2 构造参数表示的插值多项式 可以有无数条,这是因为对应地参数t, 在[0, 1]区间中有无数种取法。即P0 、P1 和P2 可对应 不同的参数值,比如,
–上述代数式写成矢量式是
P (t ) a3t a2t a1t a0
3 2
t [0,1]
计算机图形学
清华大学
• 几何形式
– 对三次参数曲线,若用其端点位矢P(0)、P(1)和切矢P(0)、 P(1)描述。
– 将P(0)、P(1)、P(0)和P(1)简记为P0、P1、P0和P1,代入
弦长修正系数Ki>=1。从公式可知,与前后邻弦长及相
清华大学 计算机图形学
比,若越小,且与前后邻弦边夹角的外角i-1和 i(不超过时)越 大,则修正系数就K i 就越大。
• 参数区间的规格化
我们通常将参数区间
[t0规格化为[0, 1], ,tn ]
[t0, t n ] [0,1] ,只需对参数化区间作如下处理:
t0 0, t1 1 , t 2 1,或 2
t 0 0, t1 1 , t 2 1, 2
其中每个参数值称为节点(knot)。
清华大学
计算机图形学
• 对于一条插值曲线,型值点 P0 , P , , Pn与其参 1 数域 t [t 0 , t n ] 内的节点之间有一种对应关系。 对于一组有序的型值点,所确定一种参数分割, 称之这组型值点的参数化。
T1
T (s )
N1 B1
N0 B0
O (a) 图3.1.3 曲率和挠率
清华大学
(b)
计算机图形学
3.1.3 插值、拟合、逼近和光顺
• 给定一组有序的数据点Pi,i=0, 1, …, n,构 造一条曲线顺序通过这些数据点,称为对这些 数据点进行插值,所构造的曲线称为插值曲线。
清华大学
计算机图形学
' 0 0
' 1 1
t [0,1]
上式是三次Hermite(Ferguson)曲线的几何形式,几何 系数是P0、P1、P0和P1。
F0 , F1 , G0 , G1 称为调和函数(或混合函数)
清华大学 计算机图形学
P
' 1
F0 1
F1 1
P0'
–法矢量
dT •与 平行的法矢称为曲线在该点的主法矢N ds
• 矢量积 B T N 是第三个单位矢量,它垂直于T和N。把 平行于矢量B的法矢称为曲线的副法矢矢 • 我们可以推导出:
P(t ) P(t ) B P(t ) P(t ) ( P(t ) P(t )) P(t ) N B T ( P(t ) P(t )) P(t )
清华大学
计算机图形学
• 参数化常用方法有:
–均Biblioteka Baidu参数化(等距参数化)
• 节点在参数轴上呈等距分布, ti 1 ti +正常数。
–累加弦长参数化
t0 0 ti ti 1 Pi 1 ,i 1,2, ,n
Pi Pi 1 Pi
这种参数法如实反映了型值点按弦长的分布情况,能够 克服型值点按弦长分布不均匀的情况下采用均匀参数化 所出现的问题。
第三章 几何造型技术 清华大学
• 几何造型技术是一项研究在计算机中,如何表 达物体模型形状的技术。
• 描述物体的三维模型有三种: 线框模型、曲面模型和实体模型。
清华大学
计算机图形学
–线框模型用顶点和棱边来表示物体。
• 由于没有面的信息,它不能表示表面含有曲面的 物体; • 它不能明确地定义给定点与物体之间的关系(点 在物体内部、外部或表面上)。
清华大学
计算机图形学
(5)便于用户把低维空间中曲线、曲面扩展到高维空间
去。 (6)规格化的参数变量t∈[0, 1],使其相应的几何分 量是有界的,而不必用另外的参数去定义边界。 (7)易于用矢量和矩阵表示几何分量,简化了计算。
清华大学
计算机图形学
3.1.2 位置矢量、切矢量、法矢量、 曲率和挠率
清华大学
计算机图形学
–实体模型能完整表示物体的所有形状信息,可以无
歧义地确定一个点是在物体外部、内部或表面上。 是最高级的模型。
• 这种模型能够进一步满足物性计算、有限元分析等应用的
要求。
清华大学
计算机图形学
• 三维表面模型表示三维物体的信息并不完整, 但它能够表达复杂的雕刻曲面,在几何造型中 具有重要的地位,对于支持曲面的三维实体模 型,表面模型是它的基础。
清华大学 计算机图形学
t [0,1]
–令: F (t ) 2t 3 3t 2 1 F (t ) 2t 3 3t 2 0 1
可将其简化为:
G0 (t ) t 3 2t 2 t
G1 (t ) t t
3
2
P (t ) F0 P0 F1 P1 G P G P
计算机图形学
清华大学
.对于一般参数t,我们可以推导出曲率和挠率的 计算公式如下:
P(t ) P(t ) P(t )
3
( P(t ), P(t ), P(t )) ( P(t ) P(t )) 2
清华大学
计算机图形学
B1
T
B0 T0
T ( s s )
清华大学 计算机图形学
3.1 参数曲线和曲面
• 3.1.1 曲线曲面参数表示
–显式表示:y=f(x) –隐式表示:f(x,y)=0 –参数表示:P(t)=[x(t), y(t), z(t)]
清华大学
计算机图形学
• 显式或隐式表示存在下述问题:
(1)与坐标轴相关; (2)会出现斜率为无穷大的情形(如垂线); (3) 不便于计算机编程。
清华大学
计算机图形学
• 参数表示:曲线上任一点的坐标均表示成给定 参数的函数。假定用t表示参数,平面曲线上 任一点P可表示为:
P(t ) x(t ), y (t )
• 空间曲线上任一三维点P可表示为:
P(t ) x(t ), y (t ), z (t )
清华大学 计算机图形学
• 参数表示例子:
–修正弦长参数化法
t0 0 ti ti 1 K i Pi 1 ,i 1,2, ,n
Pi i 3 Pi 2 i 1 Ki 1 2 Pi 2 Pi 1 Pi 1 Pi
i min Pi 1 Pi Pi 1 , , P1 Pn 0 2
清华大学 计算机图形学
–T(切矢)、N(主法矢)和B(副法矢)构成了曲线上的 活动坐标架 –N、B构成的平面称为法平面,N、T构成的平面称为 密切平面,B、T构成的平面称为从切平面。
法平面
B
从 切 面
N T
清华大学
密切面
主法线
图3.1.2 曲线的法矢
计算机图形学
– 曲率和挠率
T ' lim
–线性插值:假设给定函数f(x)在两个不同点x1和x2 的值,用一个线形函数:y=ax+b,近似代替,称为 的线性插值函数。 –抛物线插值:已知在三个互异点 x1 , x 2 , x3 的函数值 为 y1 , y 2 , y,要求构造一个函数 3
( x) ax 2 bx c
使抛物线 (x )在结点 xi (i 1,2,3) 处与 f (x) 在
清华大学
计算机图形学
–表面模型用面的集合来表示物体,而用环来定义面 的边界。
• 表面模型能够满足面面求交、线面消隐、明暗色彩图、数 控加工等需要。 • 但在该模型中,只有一张张面的信息,物体究竟存在于表 面的哪一侧,并没有给出明确的定义,无法计算和分析物 体的整体性质。如物体的体积、重心等。 • 也不能将这个物体作为一个整体去考察它与其它物体相互 关联的性质,如是否相交等。
ds / dt
2
dx / dt dy / dt dz / dt P (t )
2 2 2 '
2
dP dP dt P ' (t ) ,即为单位矢量 • 于是有 ' ds dt ds P (t )
清华大学 计算机图形学
ds P ' (t ) 0 dt
清华大学
计算机图形学
• 几何造型的历史
– 曲面造型:60年代,法国雷诺汽车公司、Pierre Bézier、 汽车外形设计的UNISURF系统。 – 实体造型:1973英国剑桥大学CAD小组的Build系统、 美国罗彻斯特大学的PADL-1系统等。 – 独立发展起来,又合二为一。 – 主流:基于线框、曲面、实体、特征统一表示的造型设 计系统
–曲线上任一点的位置矢量可表示为: P(t)=[x(t), y(t), z(t)];
清华大学
计算机图形学
清华大学
计算机图形学
–切向量(切矢量)
• 选择弧长s作为参数,则 T dP lim P ds s 0 s • 根据弧长微分公式有: 是单位切矢
ds 2 dx 2 dy 2 dz 2
ti t 0 0,ti ,i 0,1, ,n tn
清华大学 计算机图形学
3.1.5 参数曲线的代数和几何形式
我们以三次参数曲线为例,讨论参数曲线的代数和几何形式。
• 代数形式
x(t ) a3 x t 3 a2 x t 2 a1x t a0 x 3 2 y (t ) a3 y t a2 y t a1 y t a0 y z (t ) a3 z t 3 a2 z t 2 a1z t a0 z t [0,1]
得
P (t ) a3t a2t a1t a0
3 2
t [0,1]
a0 P0 a1 P0' a2 3P0 3P 2 P ' 0 P ' 1 1 a 2 P 2 P P P ' 0 1 0 1 3
P (t ) (2t 3 3t 2 1) P0 ( 2t 3 3t 2 ) P (t 3 2t 2 t ) P0' (t 3 t 2 ) P1' 1
T T lim s 0 s s 0 s s
即 lim s 0
s
称为曲率,其几何意义是曲线的单位切矢对弧长的转 动率
曲率k的倒数
1
挠率 的绝对值等于副法线方向(或密切平面)对 于弧长的转动率.
称为曲率半径。
lim
s
s
清华大学 计算机图形学
–向心参数化法
t0 0 ti ti 1 Pi 1
1 2
,i 1,2, ,n
向心参数化法假设在一段曲线弧上的向心力与曲线 切矢从该弧段始端至末端的转角成正比,加上一些 简化假设,得到向心参数化法。此法尤其适用于非 均匀型值点分布。
清华大学 计算机图形学
xi 处的值相等
清华大学 计算机图形学
y
y y f (x)
y (x)
y f (x)
y (x)
y1
y2
x2
x
y1
y2
y3
o
x1
(a)
o
x1
x2
(b)
x3
x
图3.1.4 线性插值和抛物插值
清华大学
计算机图形学
• 拟合:构造一条曲线使之在某种意义下最接近给定的 数据点(但未必通过这些点),所构造的曲线为拟合曲 线。 • 在计算数学中,逼近通常指用一些性质较好的函数近 似表示一些性质不好的函数。在计算机图形学中,逼 近继承了这方面的含义,因此插值和拟合都可以视为 逼近。