计算机图形学 9、曲线曲面表示
计算机图形学中的曲面显示算法
计算机图形学中的曲面显示算法计算机图形学是一门探究计算机在视觉呈现方面的科学和艺术,广泛应用于电影、电视、游戏等领域。
在计算机图形学领域中,曲面显示算法是一种非常重要的方法,其可以将三维模型投射到平面上,呈现给观众。
曲面显示算法是一种表示和呈现三维曲面的方法,即通过控制点的位置、数量和连接方式来构建三维曲面模型。
曲面显示算法包括两个方面的问题:曲面的建模和曲面的显示。
一、曲面的建模曲面的建模可以分为两种:基于参数的建模方法和基于控制点的建模方法。
1. 基于参数的建模方法基于参数的建模方法是从一组参数方程出发,利用曲面上的参数构造出空间中的曲面。
常用的参数方程有Bezier曲线、B样条曲面和NURBS曲面。
其中,Bezier曲线是重要的基于参数的曲线保形表示方法之一。
基本思路是给定若干个控制点,根据它们在参数空间上的位置计算出满足一定端点条件的曲线段。
B样条曲面是一种平滑曲面模型,可以在一个精确定义的Knot向量上进行控制。
该方法可以生成非常复杂的曲面,更适合进行曲面细节的调整。
NURBS曲面既能表达缓和曲面,又能精细描述尖锐曲面,它是三维建模的主要工具之一。
2. 基于控制点的建模方法基于控制点的建模方法是指通过控制点的位置和数量以及它们之间的连接关系来构建曲面。
这种方法可以通过增加或删除控制点来控制曲面的形状。
其中,常用的方法有Bezier曲面和B样条曲面。
二、曲面的显示曲面的显示是指将三维曲面投影到二维平面上,并生成二维图像。
曲面显示算法主要包括离散化、曲面细分和光栅化。
1. 离散化离散化是将曲面表面离散化成一系列小的三角形或四边形片。
然后计算每个片的法线向量,以便确定每个片的渲染方式。
这种方法的优点是计算速度很快,但是由于片数很多,因此会出现锐化问题。
2. 曲面细分曲面细分是将曲面划分成若干个小的片段,来优化离散化方法。
这一过程需要使用插值平滑技术来生成高质量的细分曲面。
曲面细分可以使曲面变得更加光滑,但是也会增加模型复杂度,导致计算量加大。
计算机图形学 曲线和曲面 算法
5.1.3 Bezier曲线 Bezier曲线
Q(t ) = [x(t ) = t y ( t ) z ( t )] = T * M B * G B −1 3 − 3 3 −6 3 t 1 * − 3 3 0 0 0 1 1 P 1 P 0 2 * 0 P3 0 P4
G1 g1x G g 2x G = 2 = G3 g 3 x G4 g 4 x g1 y g2 y g3 y g4 y g1z g2z g3z g4z
Q(t ) = [x(t )
G1 g1 x G g 2x G = 2 = G 3 g 3 x G 4 g 4 x
y (t ) z (t )] = t 3
g1 y g2 y g3 y g4 y g1 z g2z g3z g4z
[
t2
m11 m t 1 21 m31 m41
]
m12 m22 m32 m42
m13 m23 m33 m43
m14 G1 m24 G2 m34 G3 m44 G4
5.1.3 Bezier曲线 Bezier曲线
Q(t ) = T * M H * GH = T * M H * ( M HB * GB ) = T * ( M H * M HB ) * GB = T * M B * GB
M B = M H * M HB −1 3 − 3 3 −6 3 = − 3 3 0 0 0 1 1 0 0 0
如何确定曲线的约束条件
Q(t ) = [x(t ) y ( t ) z ( t )] = T * C
拆分 C = M * G
曲线和曲面的表示-PPT文档资料
参数空间中每一个参 数(点)都对应于直线 段上一个点 参数空间的两个端点 对应于直线段的两个 端点
R(0) P 0 R(1) P 1
9
参数表示的数学原理:曲线
一般三维参数曲线形式:
R t x t,y t,z t
参数空间中每一个t对应于曲线上一个点R(t) 图形学中,参数空间通常是有限区间,此时 参数曲线称为参数曲线段 图形学中,参数函数通常为分段多项式或有 理多项式曲线
Bézier、B-样条、NURBS (Non-Uniform Rational BSpline, 非均匀有理B-样条)曲线/曲面。
14
内容
参数曲面表示
参数表示的数学原理 参数曲线
Bézier曲线 B-样条曲线 NURBS曲线
参数曲面
15
Bézier曲线
Pierre Bézier (1910.9.1-2019.11.25) 发音:[BEH zee eh]
Bézier曲线,1962年
16
Bezier曲线定义
Bezier曲线
30
Bézier曲线定义
一条n次Bézier曲线:
Rt Ri B i,n t
i0 n
0 t 1
多项式{Bi,n(t)}称为Bernstein基函数:
B t C 1 t t in ,
t [ 0 , 1 ]
33
Bezier曲线的定义
三次Bezier曲线(n=3)
3 k 0
p ( t ) P BEN ( t ) k k , n BEN ( t ) P BEN ( t ) P BEN ( t ) P BEN ( t ) P 0 , 3 0 1 , 3 1 2 , 3 2 3 , 3 3
(4条消息)曲线曲面基本理论
(4条消息)曲线曲面基本理论一、曲线曲面基本理论计算机图形学三大块内容:光栅图形显示、几何造型技术、真实感图形显示。
光栅图形学是图形学的基础,有大量的思想和算法。
几何造型技术是一项研究在计算机中,如何表达物体模型形状的技术。
描述物体的三维模型有三种 :线框模型、曲面模型和实体模型线框模型用顶点和棱边来表示物体曲面模型只描述物体的表面和表面的连接关系,不描述物体内部的点的属性实体模型不但有物体的外观而且也有物体内点的描述。
二、曲线曲面基础1 、显示、隐式和参数表示曲线和曲面的表示方程有参数表示和非参数表示之分,非参数表示又分为显式表示和隐式表示。
对于一个平面曲线,显式表示一般形式是:y = f(x)。
在此方程中,一个x值与一个y值对应,所以显式方程不能表示封闭或多值曲线。
如果一个平面曲线方程,表示成 f(x,y)= 0 的形式,称之为隐式表示。
隐式表示的优点是易于判断一个点是否在曲线上。
2、显式或隐式表示存在的问题(1)与坐标轴相关(2)用隐函数表示不直观,作图不方便(3)用显函数表示存在多值性(4)会出现斜率为无穷大的情形3、参数方程为了克服以上问题,曲线曲面方程通常表示成参数的形式,假定用t表示参数,平面曲线上任一点P可表示为:p ( t ) = [ x ( t ), y ( t ) ]空间曲线上任一三维点P可表示为:p ( t ) = [ x ( t ) , y ( t ) , z ( t ) ]它等价于笛卡儿分量表示:p ( t ) = x ( t ) i + y ( t ) j + z ( t ) k这样,给定一个t值,就得到曲线上一点的坐标。
假设曲线段对应的参数区间为[a,b],即a≤t≤b。
为方便期间,可以将区间[ a,b ]规范化成[ 0,1 ],参数变换为:该形式把曲线上表示一个点的位置矢量的各个分量合写在一起当成一个整体,考虑的是曲线上点之间的相对位置关系而不是它们与所取坐标系之间的相对位置关系。
专升本《计算机图形学》-试卷-答案
专升本《计算机图形学》一、(共57题,共150分)1. 下列设备中属于图形输出设备的是( )①鼠标②LCD ③键盘④LED ⑤打印机⑥扫描仪⑦绘图仪⑧触摸屏(2分)A。
①③⑥⑧ B.②④⑤⑦ C.②⑤⑥⑦ D.④⑥⑦⑧标准答案:B2. 用正负法画圆,如果圆心在原点(0,0)处,初始点(0,R ),顺时针生成圆,若当前点Pi在圆外,则下一点Pi+1向左走一步,递推公式为( )。
(2分)A。
B 。
C.D.标准答案:D3。
在三维空间中点P(3, 5, 4)绕z轴旋转180o后的坐标为:( ) (2分)A。
(3, 4, 5) B.(—5,-3, 4) C.(5, 3, 4) D.(4, 4, 4)。
标准答案:B4。
4.在三维几何实体的表示法中,( )表示法的结果难以实现绘图输出。
(2分)A。
CSG法 B.八叉树表示法C.扫描表示法 D。
对称数据结构法。
标准答案:A5. 在种子填充算法中所提到的四向连通区域算法,()填充八向连通区。
(2分)A.可以B.不一定。
标准答案:B6. 下列()是用实型量计算,且每一步需对Y进行四舍五入。
(第一象限内,0£k£1的直线) (2分)A。
DDA算法 B。
Bresenham算法C.中点画线算法D.DDA算法和Bresenham算法标准答案:A7。
在齐次坐标中,最后一维坐标H称为()因子。
(2分)A。
比例 B.旋转 C.反射 D.斜切标准答案:A 8。
线模型的数据结构简单且易于实现,只要给出所有顶点坐标及线段与其顶点的关系即可。
(2分)A.颜色 B。
角度 C.平面 D。
顶点坐标。
标准答案:D9。
参数曲线的表示有代数形式()和两种。
(2分)A.几何形式B.分数 C。
阵列 D.固定形式标准答案:A10. 多边形填充时,下述哪个论述是错误的?()(2分)A。
多边形被两条扫描线分割成许多梯形,梯形的底边在扫描线上,腰在多边形的边上,并且相间排列;B。
多边形与某扫描线相交得到偶数个交点,这些交点间构成的线段分别在多边形内.外,并且相间排列;C。
计算机图形学 9、曲线曲面表示
n i 0 i n i n i i i n
C
P (t (1 t ) i
i
n Байду номын сангаасi
t
i 1
(1 t )
n i
i ) Cn 1 P (1)t i (1 t ) n 1i i i 0
n 1
Bezier曲线升阶
i i 5. 比较两边同类项的系数得:i (1)Cn1 PiCn Pi1Cn1 P i 6. 化简得: i (1) i Pi 1 (1 i ) Pi P
n i 0
增加控制点,提高对曲线的灵活控制。 升阶前后,曲线形状不发生变化。 通过公式变换,找出升阶前后控制点之间的关 系。 P(t ) C Pt (1 t ) 升阶前: n 1 i P(t ) Cn 1 P (1)t i (1 t ) n 1i i 升阶后: i 0 n 1 两者曲线相同: C Pt (1 t ) Cni 1Pi (1)t i (1 t ) n1i i 0 左式乘以(t+(1-t)):
• P(t)是空间点,用坐标形式表示为[x(t),y(t),z(t)] • 由式(9-3)可知,实际坐标值可用下式分别计算:
P(t)的三个分量
x(t ) X 0 (1 t )3 3X1t (1 t )2 3X 2t 2 (1 t ) X 3t 3
y(t ) Y0 (1 t )3 3Y1t (1 t )2 3Y2t 2 (1 t ) Y3t 3 z(t ) Z0 (1 t )3 3Z1t (1 t )2 3Z2t 2 (1 t ) Z3t 3
n 1
n 1
例:一段3次曲线,控制点为P0,P1,P2,P3 ,升阶为4 次曲线控制点为Q0,Q1,Q2,Q3,Q4 ,两者关系为 Q0=P0,Q1=1/4P0+3/4P1 ,Q2=2/4P1+2/4P2 Q3=3/4P2+1/4P3 , Q4=P3。
最新计算机图形学及cad技术讲义——曲线曲面基本理论
第三讲 曲线曲面基本理论1概述(a) 飞机 (b) 船舶 (c) 汽车图 1-1 曲线曲面造型应用曲线曲面造型(Surface Modeling)是计算机辅助几何设计(Computer Aided Geometric Design, CAGD)和计算机图形学的一项重要内容,主要研究在计算机系统中如何用曲线曲面表示、设计、显示和分析物体模型。
它在航空航天、船舶、飞机、汽车等行业得到广泛应用(如图1-1所示)。
由Coons 、Bezier 等大师于二十世纪六十年代奠定其理论基础,经过三十多年的发展,曲线曲面造型现在已形成了以有理B 样条曲线曲面(Rational B-spline Surface)参数化特征设计和隐式代数曲线曲面(Implicit Algebraic Surface)表示为主体的两类方法,且以插值(Interpolation)、逼近(Approximation)手段为几何理论体系。
1.1曲线曲面表示曲线曲面可以用三种形式进行表示,即显式、隐式和参数表示,三种形式表示如下。
显式表示:形如),(y x f z =的表达式。
对于一个平面曲线而言,显式表达式可写为)(x f y =。
在平面曲线方程中,一个x 值与一个y 值对应,所以显式方程不能表示封闭或多值曲线,例如,不能用显式方程表示一个圆。
隐式表示:形如0),,(=z y x f 的表达式。
如一个平面曲线方程,隐式表达式可写为0),(=y x f 。
隐式表示的优点是易于判断函数),(y x f 是否大于、小于或等于零,也就易于判断点是落在所表示曲线上或在曲线的哪一侧。
参数表示:形如)(t f x =,)(t f y =,)(t f z =的表达式,其中t 为参数。
即曲线上任一点的坐标均表示成给定参数的函数。
如平面曲线上任一点P 可表示为)](),([)(t y t x t P =,如图1-2(a)所示;空间曲线上任一三维点P 可表示为)](),(),([)(t z t y t x t P =,如图1-2(b)所示。
计算机图形学_第十二章_曲线曲面造型
曲线曲面造型
概述
在CAD/CAM领域,存在大量的曲线与曲面,因此,曲 线与曲面造型技术是CAD/CAM系统的关键技术。
曲线曲面模型可用数学函数或一系列用户指定的数据 点来定义。
曲线表示的基本知识
曲线可以用显式、隐式和参数表示,由于参数表示的 曲线、曲面具有几何不变性等优点,计算机图形学中通 常用参数形式描述曲线 .
B样条曲线的性质
•连续性 •凸包性 •分段参数多项式 •变差缩减性 •几何不变性 •直线保持性 •造型的灵活性
B样条曲线分类
(1)均匀B样条曲线
节点向量中节点为沿参数轴均匀或等间隔分布,所有节点区 间长度为大于零的一个常数,其中i从0一直到n+k。这样的节点 向量定义了均匀B样条曲线(uniform B-spline curve)。
B i, n (t)
C
i n
(1
-
t
)
n
-i
n! t i i!(n - i)!
(1 - t) n-i
(i 0,1 , n)
Bézier曲线
一般折线P0P1…Pn为P(t)的控制多边形;称P0,P1,…,Pn 各点为P(t)的控制顶点。Bézier曲线P(t)与其控制多边形 的关系可以这样认为:控制多边形P0P1…Pn是P(t)的大致 形状的勾画,而P(t)是对P0P1…Pn的逼近。
2 1 (4 t)2.......................................(.3 t 4) 2
B2,3
(t
)
1 2
1 (t 2)2.............................................(2 t 2 (t 2)(4 t) 1 (t 3)(5 t)...............(3 t
计算机图形学--第十讲 曲线的基本概念
12 曲线的基本概念Bézier 曲线5曲线与曲面的概述 4 3 6 B 样条曲线NURBS 曲线 常用的曲面在工程上经常遇到的曲线和曲面有两种:◆简单曲线和曲面函数方程或参数方程直接给出;◆自由曲线用二次混合曲线或三次曲线。
曲线曲面描述方法的发展: 1963曲线曲面1971线形状1972条曲线曲面1975方法1991何形状的唯一数学方法☐非参数表示:显式表示,坐标变量之间一一对应隐式表示☐非参数表示存在问题:不具有几何不变性,形状与坐标轴相关斜率无穷大非平面曲线、曲面难以用常系数的非参数化函数表示 不便于计算与编程参数表示:曲线上任一点的坐标均表示成给定参数的函数示,曲线上一点的笛卡尔坐标:曲线上一点坐标的矢量表示:p对参数变量规格化:例子:直线段的参数表示曲面的参数表示空间曲面xyzP☐参数表示法的优点◆曲线的形状与坐标系无关。
◆容易确定曲线的边界。
参数规格化区间或为◆曲线的绘制简单。
当参数序列组成的连线就是方程代表的曲线。
◆易于变换。
对参数方程表示的曲线或曲面进行几何变换或投影变换,只需要对方程的系数变换即可◆易于处理斜率无穷大的情形。
◆易于用矢量和矩阵表示几何分量,简化了计算隐式表示的曲线称为隐式曲线 表示形式空间隐式曲线表示为联立方程组 注意参数表示与隐式表示的比较参数表示易于求值给定一个参数值,代入参数方程对应的参数曲线上的点;得到隐式曲线上的点则非常困难。
参数表示难于判断内外对于隐式曲线f(x线12 曲线的基本概念Bézier 曲线5曲线与曲面的概述 4 3 6 B 样条曲线NURBS 曲线 常用的曲面☐参数曲线的表示参数的、连续的、单值的函数:x=x(t), y=y(t), z=z(t), 0<=t<=1 ☐位置矢量p(t)=[x(t), y(t), z(t)]曲率:数学上表明曲线在某一点的弯曲程度的数值.几何意义是曲线的单位切矢对弧长的转动率。
第9章 曲线曲面的表示
P(1) n( Pn Pn1 )
P (0)
P (0)
P (1)
P (1)
端点的曲率
dP d 2 P ds 2 dT ds 3 2 ( ) T ( ) KT N 由 dt dt dt dt dt
Bé zier曲线 P(t )在点 P0和 P1 处的曲率分别为
点云
三角化
• 在计算机图形学和计算机辅助几何设计作为新学科形成以 前,曲线曲面已有许多表示形式。在形状表达领域中以复 杂方式自由地变化的曲线曲面称为自由曲线曲面。它在现 实生活中大量地存在(如汽车车身、飞机、船舶等等),而 且从数学的角度看,有些曲线曲面的表示方式是非常优美 的,但这些表示方式不适合在计算机环境下对曲线曲面进行 描述。 尤其是自由曲线曲面的表达。 • 自由曲线曲面,是指在形状表达领域中以复杂方式自由地 变化的曲线曲面,工程设计人员脑子里的产品的大致形状 也称为自由曲线曲面。 • 在计算机图形学中,常用的曲线曲面的类型有Bézier曲线 曲面、B样条曲线曲面、孔斯曲面以及它们的有理形式, 这些曲线曲面采用分段和分片参数多项式的形式。
Bézier曲线曲面操作动画演示
点击右面图标可以自己操作:
9.1.1 曲线的表示
1. 显式表示
一个坐标变量能够显式地表示为另一个变量的函数。 平面曲线显式表示的一般形式是 y f ( x) 一条直线方程 y mx b 每一个x值只对应一个y值 用显式方程不能表示封闭或多值曲线
2.隐式表示
采用代数表示的三次参数多项式,由于多项式系数矢量并没有 反映出曲线的几何性质,因此这种表示方法用于交互设计很不 方便。但有时因为其结构简单,易于计算的优点,应用也很广 泛。 如: Ft ( x, y ) [(2 Ltk ) Fk ( x xk )(Fx ) k ( y y k )(Fy ) k ]Ltk
(计算机图形学)自由曲线曲面
参数连续性,用C 表示 C0连续(0阶参数连续) —— 指曲线相连,前一段曲线的终点
阶数
t=1与后一段曲线的起点t=0相同,即 相邻两段曲线结合点处有相同坐标。
C1连续(一阶参数连续) ——代表两个相邻曲线段的方程在相交
点处有相同的一阶导数(切线)。 (一阶导数反映了曲线对参数 t 的变 化速度)
B2,3(t)ຫໍສະໝຸດ Ot4个基函数
7.2.2 Bernstein基函数及曲线的性质
Bi ,n (t ) n! i i t i (1 t ) ni C n t (1 t ) ni i!(n i)!
t∈〔0,1〕(i=0,1,2……n) ,t∈〔0,1〕
1.非负性: Bi,n (t ) 0
void CTestView::DrawBezier()//绘制Bezier曲线 { CDC *pDC=GetDC(); CPen NewPen,*pOldPen; NewPen.CreatePen(PS_SOLID,1,RGB(0,0,255));//曲线颜色 pOldPen=pDC->SelectObject(&NewPen); pDC->MoveTo(P[0]); for(double t=0.0;t<=1.0;t+=0.01) { double x=0,y=0; for(int i=0;i<=n;i++) { x+=P[i].x*C(n,i)*pow(t,i)*pow(1-t,n-i); y+=P[i].y*C(n,i)*pow(t,i)*pow(1-t,n-i); } pDC->LineTo(Round(x),Round(y)); } pDC->SelectObject(pOldPen); NewPen.DeleteObject(); ReleaseDC(pDC); }
计算机图形学曲线和曲面造型ppt课件
• 如果参数曲线有n阶连续的导矢,则称该曲线为Cn或n阶连续。
一般来说,如果曲线连续的阶数越高,那么曲线就越光滑。 在几何上,C0,C1,C2依次表示曲线的位置、切线方向,曲 率连续。
• 对于组合曲线,整条曲线的参数连续性取决于公共连接点的
连续性。如果在公共连接点达到k阶参数连续,则称该曲线
具有Ck或k阶参数连续性。
| | dpk (u)
duk
u u0
dpk (u) duk
u
u
0
k 0,1,, n
12
y
y(u, v)
z z(u, v)
曲面的范围通常用两个参数u和v的变化区间的矩形区域 u1 u u2 , v1 v v2 给出。这种曲面通常叫做矩形域曲面。参数u和v的变化区间一般规范为0,1,
10
矢量方程式为 s s(u,v) (x(u,v), y(u,v), z(u,v))
计算机图形学
第专题
曲线和曲面造型
1
一. 曲面造型的发展
• 曲面造型(Surface Modeling)是计算机辅助几何
设计 (Computer Aided Geometric Design,CAGD) 和计算机图形学(Computer Graphics)的一项重要 内容,主要研究在计算机图形系统中对曲面的表 示、设计、显示和分析。
多样性 特殊性 拓扑结构复杂性 一体化 集成化 网络化
三维数据采样技术 及硬件设备完善
曲 基于网格细分 面 的离散造型 造 型 曲面变形 研 究 曲面重建 的 开 曲面简化 拓 创 曲面转换 新
计算机图形学第五章曲线和曲面
T(单位切矢)、N(主法矢)和B(副法矢)构成了曲线上的活动坐标架;N、B构成的平 面称为法平面;N、T构成的平面称为密切平面(它与曲线最贴近);B、T构成的平 面称为从切平面。 对于一般参数t,有:
T
2)曲线的曲率和挠率
曲率:
B N
由于T’(s)与N平行,令T’(s)= κN, κ(kappa)称为曲率,其几何意义是曲线的单位切矢对弧长的转动率。κ恒为 正,又称为绝对曲率。κ曲率的倒数ρ=1/κ ,称为曲率半径。 挠率: 由B(s)· T(s)=0,两边求导,可得: B‘(s)· T(s)=0; 又由|B(s)|2=1,两边求导,可得: B‘(s)· B(s)=0; 所以,B’(s)∥N(s),再令B’(s)=-τN(s), τ(tau)称为挠率,其几何意义是副法矢方向对于弧长的转动率。挠率大于0、 等于0和小于0分别表示曲线为右旋空间曲线、平面曲线和左旋空间曲线。 对于一般参数t,可以推导出曲率和挠率的计算公式如下:
在曲线、曲面的表示上,参数方程比显式、隐式方程有更多的优越性, 主要表现在: (1)容易满足几何不变性(与坐标系的选取无关)的要求。 (2)有更大的自由度来控制曲线、曲面的形状。 (3)可对参数方程直接进行几何变换,而不需要逐点变换。 (4)便于处理斜率为无穷大的情形,不会因此而中断计算。 (5)便于把低维空间中曲线、曲面扩展到高维空间中去。 (6)规格化的参数变量t∈[0,1],使得界定曲线、曲面的范围十分简单。 (7)易于用矢量和矩阵运算,从而大大简化了计算。
④ 修正弦长参数化法 ,在四种方法中效果最好:
t0 0 t j t j 1 K j Pj 1 j 1,2,, n
Pj j 3 Pj 2 j 1 K j 1 Pj 2 Pj 1 Pj 1 Pj 2 j min Pj 1Pj Pj 1 , , P1 Pn 0 2
计算机图形学10-曲线曲面参数表示的基础知识资料
参数曲线相关术语
用参数表示的3维曲线是一个有界的点集,可以写成一个带 参数的、连续的、单值的数学函数,形式为:
计算机图形学10_曲线曲面参数 表示的基础知识
曲线曲面概述
▪ 图形学中一个很复杂的又非常重要的研究 领域。
➢ 曲线曲面才是造型的真正统治者,它占据了我 们生活和幻想中的造型的绝大部分。
➢ 但曲线曲面又是如此地难以理解,让人们在一 段很长很长的时间内无法征服它。
曲线曲面概述
▪ 自由曲线和曲面发展过程
(6)规格化的参数变量t∈[0,1],使其相应的几何分量 是有界的,而不必用另外的参数去定义其边界。
(7)易于用矢量和矩阵表示几何分量,简化了计算。基 于这些优点,我们在以后将用参数表达式来讨论曲线问题。
▪ 5.1.2 参数样条曲线和曲面的常用术语
在工程设计中,一般多采用低次的参数样条曲线。 这是因为高次参数样条曲线计算费时,其数学模型难于 建立且性能不稳定,即任何一点的几何信息的变化都有 可能引起曲线形状复杂的变化。
(2)隐式
一般形式:f(x,y) = 0
注: 易判断某给定点是在曲线上还是曲线某一侧。
非参数表示形式(显示和隐式)存在如下问题: ① 与坐标有关 ② 出现斜率为无穷大的特殊情形 ③ 对于非平面曲线,曲面,难于用常系数的非参数化函
数表示 ④ 不便于计算机处理
(3)参数
一般形式: P(t)=[x(t),y(t)]
而当p0与p1的△ t→0时,p0p1可以 近似的表示为
曲线曲面的数学表示
两点连线的数学表示
两点之间的线性插值
一般形式
曲线与曲面的参数表示
解析几何的参数表示
微分几何的参数矢函数表示 CAGD的基表示的参数矢函数形式
– 基函数决定了曲线的整体性质,当基函数确定后,就决 定了系数矢量是绝对矢量还是相对矢量,也就决定了所 表示曲线的形状。
矢函数形式曲线方程的物理意义
1.2 形状数学描述的发展主线
显式标量函数与隐方程描述曲线曲面 1963年,弗格森将曲线曲面表示为参数的矢函数 1964年,孔斯(Coons)提出由封闭的4条边界构造曲面 1971年,雷诺(Renault)公司Bezier提出由控制多边形定 义曲线曲面 1972年,德布尔(de Boor)提出B样条算法,1974年,戈登 (Gordon)和里森弗尔德(Riesenfeld)将B样条理论应用于 曲线曲面的描述 上世纪80年代后期,Piegl、Tiller、Farin等人将非均匀有理 B样条方法用于形状的描述
矢函数形式曲线方程:p=p(u) 点动成线,如果将u视为时间,则p(u)可看作一质点随时间的 变化运动的轨迹。其关于u的一阶导矢与二阶导矢分别就是 质点的速度矢量和加速度矢量。 有可能质点的运动轨迹即曲线相同,但速度矢量和加速度矢 量不同。
曲线与曲面的参数表示
在微分几何里,把曲面表示成双参数u和v的矢函数:
对于形状数学描述的要求
唯一性 由已给有限信息决定的形状唯一 几何不变性 数学表示与形状不随坐标系的改变而改变 易于定界
统一性 能统一表示各种形状及处理各种情况,如平面与空 间曲线,无穷大斜率
易于实现光滑连接 易于实现对形状的控制,不仅要有整体控制的能力,且要有 局部控制的能力
曲线曲面基本理论
• 在曲线曲面理论中,所要考察的在于两个方面: – 曲线曲面的整体,而不是组成这个整体的各个分量; – 曲线曲面上点之间的相对位置关系,而不是它们与 所取坐标系之间的相对位置关系。
– 由于在许多参数形式之前就存在相应的非参数形式 (如:三次样条曲线有三次样条函数,Bézier曲线有 Bernstein基函数等),所以,这种对应关系与替换绝 非是等价的。
• 而对于非参数形式下的隐方程,则可转换成等价的参数 形式,只需把所含各坐标都分别表示成某一参数的函数, 使它们适合于该隐式方程。
– 统一性:能统一表示各种形状及处理各种情况,包
括各种特殊情况。即:既能表示自由型曲线曲面,
又能表示初等解析 具有丰富的表达能力与灵活地响应的能力。
– 易于实现连接,且在许多场合要求的光滑连接。
– 易于实现对形状的控制,既具有整体控制的能力,
又具有局部控制的能力。具有较大的控制的灵活性。
– 曲面上pu×pv=0的点是曲面上的一种奇点。
– 这种奇点与曲线上一阶导矢为零矢量的奇点不同:
• 前者有可能因两非零导矢平行或退化边引起, 就可由重新参数化(参数变换)消除;
• 后者由曲线的重新参数化可能消除不了。
A
10
☆图形表示问题 ☆参数化表示 ● 曲线参数化
◘ 参数化方法 ◘ 对应关系 ◘ 参数化性质
☆离散点表示
曲线的参数化:性质
• 曲线上的点是参数u的矢函数。
– 曲线对参数u求导数等于其各分量对参数u求导,其 结果为一矢量,称为导矢;一阶导矢称为切矢。
计算机图形学——曲线和曲面
1u
n i 1
i 1, 2,L , n 1
n1
p p u P '(u) n 1 u n1 0
Pi
B' i,n
(u)
n
n1 n
i 1
青岛农业大学
7.2.6 Bézier曲线的性质
在起始点u﹦0, B’1,n-1(0)﹦1,其余项均为0,故有: P’(0)﹦n(P1﹣P0)
在终止点u﹦1, Bn-1,n-1(1)﹦1,其余项均为0,故有: P’(1)= n(Pn﹣Pn-1)
Q2
Pn
2
2
n 1
(
Pn
Pn1) 2 (Pn1
Pn2 )
Q 这表明 Pn2 、Pn1 、Pn Q0 、
和
1
Q2 五点共面,并且,
在接合点两条曲线段主法线方向一致,我们还可以断
定: Q2 、 Pn2位于直线
Pn1Q1 的同一侧。
青岛农业大学
Bézier曲线的拼接
G2级Bézier曲线交互拼接方法 Step1:平移多边形顶点Q0,Q1,Q2,Q3使顶点Q0与 顶点P3重合(G0)。 Step2 : 绕 顶 点 Q0 整 体 旋 转 多 边 形 顶 点 Q0,Q1,Q2,Q3,使顶点P2P3Q1在一条直线上,且顶 点P2和Q1应在P3(Q0)的两侧(G1)。 Step3 : 绕 Q0Q1 整 体 旋 转 多 边 形 顶 点 Q0,Q1,Q2,Q3 , 使顶点Q2与顶点P1在直线P2Q1的同侧。 Step4:如果此时Q0-2Q1+Q2=S2(P1-2P2+P3)已满足, 则p(t)和q(t)在Q0处已达到G2连续,否则调整Q2 并重复Step4。
点共线,即: b1 an ( 0)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Bezier曲线的拼接(2)
• 设两段Bezier曲线P(t), Q(t)首尾相接 • 零阶几何连续就是要求:P(1)=Q(0)。 由Bezier曲线的Q(0)=Q0, P(1)= Pn , 所以要 使两段两段Bezier实现零阶几何连续拼接, 就要求Pn = Q0, 即前一段曲线的最后一个控 制点和后一段曲线的第一个控制点重合。
参数表示
• 点的每一个坐标都表示成参数变量的函数 • 参数整个变化范围对应整条曲线,但往往 只对某一部分感兴趣,通过规格化使参数 的变化范围限制在[0,1]中。
参数方程的优越性
• 有更大的自由度来控制曲线(面)的形状。如一 条二维三次曲线显性表示:y=ax3+bx2+cx+d,只 有四个系数可用来控制曲线(面)形状, • 非参数方程表示的曲线(面)变换时必须对每个 型值点进行变换;参数方程表示的曲线(面)变 换时可直接对参数方程进行几何变换,节省计算 量 • 便于处理斜率为无穷大的问题,不会因此中断计 算 • 规格化参数变量变化范围为[0,1],不必为参数 定义边界 • 易于用矢量和矩阵表达,简化了计算
n i 0 i n i n i i
n i 0 i n i n i i i n
C
P (t (1 t ) i
i
n 1i
t
i 1
(1 t )
n i
i ) Cn 1 P (1)t i (1 t ) n 1i i i 0
n 1
Bezier曲线升阶
i i 5. 比较两边同类项的系数得:i (1)Cn1 PiCn Pi1Cn1 P i 6. 化简得: i (1) i Pi 1 (1 i ) Pi P
Bezier曲线的生成(1)
• 在实际应用Bezier曲线段绘制曲线时,常 运用3次曲线,即n=3。这是因为: 1. 一次曲线是直线,二次曲线是抛物线,它 们表现复杂曲线的变化能力稍差;而三次 曲线在一个小的局部,足够了。 2. 次数太大,数学计算量大,且容易产生累 积误差,影响精度。 3. 次数太大,一段曲线的控制点太多,不利 于人机交互调整曲线形状。
Pn-1
Pn
Bezier曲线的性质(2)
• 凸包性 P1 Pn-1 P(t)位于控制顶点 P0, P1,…,Pn的凸包内 P 0 • 几何不变性 Pn 曲线的形状仅由控制点的位置决定,与所选用的 坐标系无关。 • 交互能力 控制点的位置决定了曲线的形状,变换控制点位 置,就可以改变曲线的形状。为人机交互确定曲 线形状提供了手段。
0 t 1(9-5)
• 只要在[0,1]计算若干个t值,如t=0,0.1,0.2,…,1,求出相应的坐 标,用直线将这些点连接起来,就构成了曲线。 • 若要画二维曲线,只要计算[x(t),y(t)]。
Bezier曲线的手工生成(1)
• Bezier曲线上的点可以根据控制点精确得到
P1 P3 P2 P1 P2 ’ P1 ’ P0 ’ P0 “ P1 ’ P0 “’ P2
Q0 P0
i i 0 i i n i Qi P0Cn (1 ) n Pi Cn (1 ) n i Pn Cn ( ) n n n n n
解n+1个方程,得到P0 ,P1 … … Pn曲线控制点
Qn Pn
Bezier曲线升阶
• • •
1. 2. 3. 4.
n 1
n 1
例:一段3次曲线,控制点为P0,P1,P2,P3 ,升阶为4 次曲线控制点为Q0,Q1,Q2,Q3,Q4 ,两者关系为 Q0=P0,Q1=1/4P0+3/4P1 ,Q2=2/4P1+2/4P2 Q3=3/4P2+1/4P3 , Q4=P3。
Bezier曲线升阶
• 新的控制点是对老的控制多边形在参数 i/(n+1)处进行线性插值的结果 • 升阶后的新控制多边形在老控制多边形凸 包中 • 升阶后的新控制多边形比老控制多边形更 接近Bezier曲线
• P(t)是空间点,用坐标形式表示为[x(t),y(t),z(t)] • 由式(9-3)可知,实际坐标值可用下式分别计算:
P(t)的三个分量
x(t ) X 0 (1 t )3 3X1t (1 t )2 3X 2t 2 (1 t ) X 3t 3
y(t ) Y0 (1 t )3 3Y1t (1 t )2 3Y2t 2 (1 t ) Y3t 3 z(t ) Z0 (1 t )3 3Z1t (1 t )2 3Z2t 2 (1 t ) Z3t 3
第九章 曲线曲面表示
• 曲线曲面的表示是计算机图形学的重要内容。它 是描述物体外形、建立物体数学模型的有力工具。 • 在计算机图形学中,曲线曲面都是采用分段或分 片参数多项式的形式。 • 采用分段参数方式有很多好处:曲线曲面形状不 依赖坐标系的选取;有直观简便的人机交互手段; 容易离散生成;造型灵活、易于拼接。 • 本章介绍一些常用曲线曲面的算法和性质。
显式、隐式和参数表示
• • • • 曲线(面)的显式表示:y=f(x) 曲线(面)的隐式表示:f(x,y)=0 曲线(面)的参数表示:x=x(t),y=y(t) 显式表示特点:每一个x值只能对应一个y值;不 能表示封闭或多值曲线,例如圆。 • 隐式表示特点:可以表示封闭或多值曲线。 • 非参数表示(显、隐)特点:与坐标轴相关;会 出现斜率无穷大情况;非平面曲线(面)难以常 系数函数表示;不便于计算和编程。
参数曲线定义
• 一条三维曲线的参数形式: x=x(t),y=y(t),z=z(t),0≤t ≤1 • 曲线上任意一点可用矢量p(t)=[x(t),y(t),z(t)]表示。 起始点在t=0处,即p(0),终点p(1)在t=1处 • 曲线上任意一点切矢量表示了曲线上该点的切线 方向,可以表示曲线在该点处的走向。切矢量表 示为:p’(t)=[x’(t),y’(t),z’(t)] 。起始点t=0处切矢量, 为p’(0),p’(1)表示在终点t=1处切矢量。
Bezier曲线的拼接(3)
• 一阶几何连续就是要求:P’(1)=Q’(0)。 由式(9-1),(9-2)可得: P’(1)=n(Pn-Pn-1) , Q’(0)=m(Q1-Q0)
Pn-Pn-1 Pn-1 Pn (Q0) Q1 几何意义就是要求: Pn-1 , Pn (Q0) ,Q1点在 同一条直线上,且Pn-1 , Q1-Qn Q 分别在P (Q ) 两边 1 n 0
• 端点的位置 P0和Pn是曲线P(t)的两个端点。 由式(9-1),(9-2)可得:p(0)=P0, p(1)= Pn • 端点的切线 P(t)在起点处与P0P1相切,在终点处与Pn1Pn相切 P
1
由式(9-1),(9-2)可得:
P’(0)=n(P1-P0), p’(1)=n(Pn-Pn-1)
P0
Bezier曲线
• 在空间给定n+1个点P0,P1,…,Pn,称下列参数曲 线为n次Bezier曲线: n
P(t ) P J i ,n (t ),0 t 1 i
i 0
(9-1)
• 其中,Ji,n(t)是Bernstein基函数:
J i ,n (t ) C t (1 t )
i i n n i
n! t i (1 t ) ni i!(n i)!
(9-2)
• 称折线为P0P1…Pn为P(t)的控制多边形;称点P0, P1,…,Pn为P(t)的控制顶点。控制多边形P0P1…Pn 为P(t)的大致形状的勾画, P(t)是对P0P1…Pn的 逼近。
Bezier曲线的性质(1)
Bezier曲线的拼接(1)
• 一段Bezier曲线常常不足以表现复杂的曲线。为了构造复 杂的曲线,常用曲线拼接的方法,即用一段段的曲线首尾 相连起来。 • 不同的问题在连接点对曲线连续性有不同的要求: • 零阶几何连续:首位连在一起即可。不光滑。 • 一阶几何连续:在连接点处曲线方向相同。光滑,但变化 趋势不同 • 二阶几何连续:两段曲线在连接处,不仅光滑连接,曲率 也相同。
P1 “
P2 ’
P1 “
P0 “
P0 “’
P0 ’
P0
P0
P3
Bezier曲线的手工生成(2)
• P0”’是曲线上的点P(1/2) • 如果每次取得不是中点,而 是1/3点,最终得到的点是 P(1/3) • 如果每次取得不是中点,而 是1/n点,最终得到的点是 P(1/n) • P0”’将一段曲线分成两段, 每一段成为一段新的Bezier 曲线,其新的控制点如图所 示 • 在新的Bezier曲线上可以继
P3 P2 P1 P0
P2 ’ P1 ’
P1 “
P0 “
P0 “’
P0 ’
反算Bezier曲线控制点
• 给定n+1个型值点Qi(i=0,1,…,n),要求构成的 Bezier曲线通过这些点。 • 取参数ti=i/n与Qi相对应 • 根据式9-1,Bezier曲线方程为
0 1 i n p(t ) P0Cn (1 t )n PCnt (1 t )n1 PCnt i (1 t )ni Pn Cn t n 1 i
Bezier曲线的生成(2)
• 下面来推导3次Bezier曲线的计算公式 • n=3 由式(9-1),(9-2)可得:
P(t ) Pi J i ,3 (t )
i 0 3
Pi
i 0
3
3! t i (1 t )3i i!(3 i )!
P (1 t )3 3Pt (1 t )2 3P2t 2 (1 t ) P t 3 0 1 3
•
B样条基函数 B样条基函数是由参数k的递推关系所定义的
Bi ,1 (t )
1, ti t ti 1
0,其它