赞
踩
在几何造型中,两种最常用的曲线、曲面表示方法是隐式表示和参数表示方法。
xy平面上曲线可以用形如
f
(
x
,
y
)
=
0
f(x,y)=0
f(x,y)=0 的隐式方程来表示。这个方程隐含地描述了曲线上点的 x,y坐标之间所满足的关系。对于一条给定的曲线,除了差一个常数因子外,方程是唯一的。
在参数表示形式中,曲线上点的每个坐标分量均被表示为一个独立参数的显函数。
圆心位于原点的单位圆:
隐式方程:
f
(
x
,
y
)
=
x
2
+
y
2
−
1
=
0
f(x,y) = x^{2}+ y^{2} -1 = 0
f(x,y)=x2+y2−1=0
参数方程:
C
(
u
)
=
(
x
(
u
)
,
y
(
u
)
)
,
a
⩽
u
⩽
b
C(u) = (x(u),y(u)), a\leqslant u\leqslant b
C(u)=(x(u),y(u)),a⩽u⩽b
C ( u ) C(u) C(u)是一个独立变量 u u u的矢值函数, [ a , b ] [a,b] [a,b]可以是任意的,但通常将其归一化为 [ 0 , 1 ] [0,1] [0,1]。
位于第一象限的圆弧采用参数形式可以表示为
{
x
(
u
)
=
c
o
s
(
u
)
y
(
u
)
=
s
i
n
(
u
)
0
⩽
u
⩽
π
2
(
1.1
)
{x(u)=cos(u)y(u)=sin(u) \quad 0\leqslant u\leqslant \frac{\pi}{2} \quad (1.1)
{x(u)=cos(u)y(u)=sin(u)0⩽u⩽2π(1.1)
令
t
=
tan
(
u
2
)
t = \tan(\frac{u}{2})
t=tan(2u),得到另一种参数表示形式
{
x
(
t
)
=
1
−
t
2
1
+
t
2
y
(
t
)
=
2
t
1
+
t
2
0
⩽
t
⩽
1
(
1.2
)
{x(t)=1−t21+t2y(t)=2t1+t2 \quad 0\leqslant t\leqslant 1\quad(1.2)
{x(t)=1+t21−t2y(t)=1+t22t0⩽t⩽1(1.2)
因此,一条曲线的参数表示形式是不唯一的。
直观上,我们可以将曲线理解为质点运动所形成的轨迹,将参数
u
u
u看作时间变量,
C
(
u
)
=
(
x
(
u
)
,
y
(
u
)
)
C(u) = (x(u),y(u))
C(u)=(x(u),y(u))为
u
u
u时刻质点的位置矢量,
[
a
,
b
]
[a,b]
[a,b]为时间区间。
C
(
u
)
C(u)
C(u)的一阶和二阶导矢分别为速度和加速度。在几何上,一阶导矢也成为切矢。对方程(1.1)和方程(1.2)求导,得到速度函数
C
′
(
u
)
=
(
x
′
(
u
)
,
y
′
(
u
)
)
=
(
−
sin
(
u
)
,
cos
(
u
)
)
C
′
(
t
)
=
(
x
′
(
t
)
,
y
′
(
t
)
)
=
(
−
4
t
(
1
+
t
2
)
2
,
2
(
1
−
t
2
)
(
1
+
t
2
)
2
)
C′(u)=(x′(u),y′(u))=(−sin(u),cos(u))C′(t)=(x′(t),y′(t))=(−4t(1+t2)2,2(1−t2)(1+t2)2)
C′(u)=(x′(u),y′(u))=(−sin(u),cos(u))C′(t)=(x′(t),y′(t))=((1+t2)2−4t,(1+t2)22(1−t2))
注意,速度矢量
C
′
(
u
)
\mathbf{C}^{\prime}(u)
C′(u)的大小为常数
∣ C ′ ( u ) ∣ = sin 2 ( u ) + cos 2 ( u ) = 1 \mid\mathbf{C}'(u)\mid=\sqrt{\sin^2(u)+\cos^2(u)}=1 ∣C′(u)∣=sin2(u)+cos2(u) =1
即:虽然质点运动的方向随时间而变化,但其速率是一个常数。这种参数表示形式称为均匀参数化(uniform parametcrization)。
但是速度矢量 C ′ ( t ) \mathbf{C}^{\prime}(t) C′(t)的大小不为常数,将 t = 0 t=0 t=0和 t = 1 t=1 t=1代入 C ′ ( t ) \mathbf{C}^{\prime}(t) C′(t)得: C ′ ( 0 ) = ( 0 , 2 ) \mathbf{C}^{\prime}(0)=(0,2) C′(0)=(0,2), C ′ ( 1 ) = ( − 1 , 0 ) \mathbf{C}^{\prime}(1)=(-1,0) C′(1)=(−1,0),即:质点的初始速度是终止速度的2倍。
曲面的隐式方程具有形式 f ( x , y , z ) = 0 f(x,y,z)=0 f(x,y,z)=0。例如,球心在原点的单位球面可以用方程 x 2 + y 2 + z 2 − 1 = 0 x^{2} + y^{2} + z^{2} -1 = 0 x2+y2+z2−1=0来表示。该球面的一种参数表示形式(不唯一)为
S ( u , v ) = ( x ( u , v ) , y ( u , v ) , z ( u , v ) ) S(u,v)=(x(u,v),y(u,v),z(u,v)) S(u,v)=(x(u,v),y(u,v),z(u,v)),其中
x ( u , v ) = sin ( u ) cos ( v ) y ( u , v ) = sin ( u ) sin ( v ) z ( u , v ) = cos ( u ) 0 ⩽ u ⩽ π , 0 ⩽ v ⩽ 2 π ( 1.3 ) x(u,v)=sin(u)cos(v)y(u,v)=sin(u)sin(v)z(u,v)=cos(u) \quad 0\leqslant u\leqslant\pi, 0\leqslant v\leqslant2\pi \quad(1.3) x(u,v)=sin(u)cos(v)y(u,v)=sin(u)sin(v)z(u,v)=cos(u)0⩽u⩽π,0⩽v⩽2π(1.3)
注意:在曲面的参数方程中,需要两个参数。固定 u u u不变,让 v v v变化,则产生球面的纬线;固定 v v v不变,让 u u u变化,则产生球面的经线。
记 S u ( u , v ) = ( x u ( u , v ) , y u ( u , v ) , z u ( u , v ) ) \textbf{S}_{u}(u,v)=\left(x_{u}(u,v),y_{u}(u,v),z_{u}(u,v)\right) Su(u,v)=(xu(u,v),yu(u,v),zu(u,v))和 S v ( u , v ) = ( x v ( u , v ) , y v ( u , v ) , z v ( u , v ) ) \mathbf{S}_v(u,v)=(x_v(u,v),y_v(u,v),z_v(u,v)) Sv(u,v)=(xv(u,v),yv(u,v),zv(u,v))为 S ( u , v ) S(u,v) S(u,v)的偏导矢,即:分别沿着经线和纬线的速度矢量。在曲面上任一点处,如果 S u × S v \mathbf{S}_{u} \times \mathbf{S}_{v} Su×Sv 不消失(即 S u × S v \mathbf{S}_{u} \times \mathbf{S}_{v} Su×Sv 为非零矢量),则曲面在该点处的单位法矢 N N N可由下式给出
N = S u × S v ∣ S u × S v ∣ ( 1.4 ) \mathbf{N}={\frac{\mathbf{S}_{u}\times\mathbf{S}_{v}}{\mid\mathbf{S}_{u}\times\mathbf{S}_{v}\mid}} \quad (1.4) N=∣Su×Sv∣Su×Sv(1.4)
曲面在一点处存在法矢及相应切平面是曲面的几何性质。和曲面的参数化无关。因此,尽管不同的参数化会产生不同的偏导矢,但只要 ( 1.4 ) (1.4) (1.4)式中的分母不为零,则按 ( 1.4 ) (1.4) (1.4)式得到的 N N N都是相同的。由 ( 1.3 ) (1.3) (1.3)式容易发现,对于所有的 v ( 0 ⩽ v ≤ 2 π ) v(0\leqslant v≤2\pi) v(0⩽v≤2π)有 S v ( 0 , v ) = S v ( π , v ) = 0 \mathbf{S}_{v}(0,v)=\mathbf{S}_{v}(_{\pi},v)=0 Sv(0,v)=Sv(π,v)=0,即: S v \mathbf{S}_{v} Sv在球面的北极和南极消失(为零矢量)。很明显,球面在两个极点的法矢确实是存在的,但在这种参数化之下,无法用 ( 1.4 ) (1.4) (1.4)式来计算它们。
对于隐式表示形式和参数表示形式,很难断言其中一种总是比另一种好,它们各有自己的优点和缺点。一个成功的几何造型系统往往同时用到以上两种技术。一下对这两种表示方法做一个比较:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。