计算机图形:计算法向量

发布时间 2023-11-16 13:51:33作者: 明明1109

一元向量值函数及其导数

一元向量值函数概念

已知空间曲线Γ(大写的γ)参数方程:

\[\tag{1} \begin{cases} x=\varphi(t),\\ y=\psi(t),t\in [\alpha, \beta]\\ z=\omega(t) \end{cases} \]

改写成向量形式. 记

\[r=x\bm{i}+y\bm{j}+z\bm{k}, \bm{f}(t)=\varphi(t)\bm{i}+\psi(t)\bm{j}+\omega(t)\bm{k}=(\varphi(t),\psi(t),\omega(t)) \]

则对应向量方程:

\[\tag{2} \bm{r}=\bm{f}(t) \]

这里\(\bm{f}(t)\)就是一元向量值函数,它是一元函数的推广. 三元(多元)函数可以是一元向量值函数.

一元值函数的导数

我们知道,空间曲线的切线与导数密切相关.

定义 设向量值函数\(\bm{r}=\bm{f}(t)\)在点\(t_0\)的某一领域内有定义,如果

\[\tag{3} \lim_{\delta t \rightarrow 0}{\delta \bm{r}\over \delta t}=\lim_{\delta \rightarrow 0}{\bm{f}(t_0+\delta t)-\bm{f}(t_0)\over \delta t} \]

存在,那么称这个极限向量为向量值函数\(\bm {r}=\bm{f}(t)\)\(t_0\)处的导数或向量,记作\(\bm{f}\prime (t_0)\)\({d\bm{r}\over dt}\rvert_{t=t_0}\).

如果向量值函数在定义域子集D1内每一点都可以导(导向量\(\bm{f}\prime (t_0)\)\({d\bm{r}\over dt}\rvert_{t=t_0}\)存在),则称\(\bm{f}\)在D1上可导.

空间曲线的切线和法平面

设空间曲线Γ参数方程:

\[\begin{cases} x=\varphi(t),\\ y=\psi(t),t\in [\alpha, \beta]\\ z=\omega(t) \end{cases} \]

假定3个函数都在[α, β]上可导,且导数不同时为0.

现在要求曲线Γ在点\(M(x_0,y_0,z_0)\)处切线及法平面方程.

  • 求切线方程

设点M对应参数\(t_0\). 曲线Γ对应的一元向量值函数:\(\bm{f}(t)=(\varphi(t),\psi(t),\omega(t)), t\in [\alpha, \beta]\)

在M点处导向量:\(T=\bm{f}\prime(t_0)=(\varphi(t)\bm{i}+\psi(t)\bm{j}+\omega(t)\bm{k})\prime=(\varphi\prime(t_0),\psi\prime(t_0),\omega\prime(t_0))\)

而切线是平行于导向量且经过M的直线. 设P(x,y)为切线L上任一点, 有MP//\(f\prime(t_0)\)
因此,可得到切线的对称式方程:

\[\tag{4} \begin{aligned} &(x-x_0,y-y_0,z-z_0)=\lambda(\varphi\prime(t_0),\psi\prime(t_0),\omega\prime(t_0)), \lambda \neq 0\\ &\frac{x-x_0}{\varphi\prime(t_0)}=\frac{y-y_0}{\psi\prime(t_0))}=\frac{z-z_0}{\omega\prime(t_0))}=\lambda \end{aligned} \]

注意:这里要求\(\varphi\prime(t_0),\psi\prime(t_0),\omega\prime(t_0)\)不能同时为0,否则P点只能与M重合,而\(\lambda\)可为任意值.

  • 曲线在M点处的法平面呢?
    由导向量,以及经过M点,可得法平面的点法式方程:

\[\tag{5} \varphi\prime(t_0)(x-x_0)+\psi\prime(t_0)(y-y_0)+\omega\prime(t_0)(z-z_0)=0 \]

证明
∵法平面S经过点M
∴S方程可写为\(A(x-x_0)+B(y-y_0)+C(z-z_0)=0, A,B,C\in R\)
A,B,C就是曲线在M点处的导向量.

设Q(x,y)是法平面S上任意一点,有切线L⊥法平面S
向量QM\((x-x_0,y-y_0,z-z_0)\)位于法平面
∴向量QM⊥导向量\(\bm{f}\prime(t_0)=(\varphi\prime(t_0),\psi\prime(t_0),\omega\prime(t_0))\)
∴点积为0,即\(QM·\bm{f}\prime(t_0)=0\)
\(\varphi\prime(t_0)(x-x_0)+\psi\prime(t_0)(y-y_0)+\omega\prime(t_0)(z-z_0)=0\)

小结:由曲线在某点处导向量+该点坐标,即可得到切线方程、法平面方程.

曲面的切平面与法线

曲面Σ隐式方程:

\[\tag{6} F(x,y,z)=0 \]

对应显式方程:\(z=f(x,y)\)

如何求曲面上点M切平面以及法向量?

可以先讨论曲面Σ上经过点M的一条曲线,再由曲线推向曲面.

设点\(M(x_0,y_0,z_0)\),通过M引一条曲线Γ,假设曲线参数方程:

\[\tag{7} x=\varphi(t),y=\psi(t),z=\omega(t) \space (\alpha \le t \le \beta) \]

\(t=t_0\)对应点M,且\(\varphi\prime(t_0),\psi\prime(t_0),\omega\prime(t_0)\)不全为0(前面已证). 则曲线Γ经过M的切线方程为:

\[\tag{8} \frac{x-x_0}{\varphi\prime(t_0)}=\frac{y-y_0}{\psi\prime(t_0)}=\frac{z-z_0}{\omega\prime(t_0)} \]

因为曲线Γ在曲面Σ上,所以:

\[F(\varphi(t),\psi(t),\omega(t))=0 \]

因为F(x,y,z)在点\(M(x_0,y_0,z_0)\)处有连续偏导(why?,见下文说明),且\(\varphi\prime(t_0),\psi\prime(t_0),\omega\prime(t_0)\)都存在
所以等式左边复合函数在\(t=t_0\)处有全导数,且为0.

\[\left. \frac{d}{dt}F[\varphi(t),\psi(t),\omega(t)] \right|\nobreakspace_{t=t_0}=0 \]

可得,

\[\tag{9} F_x(x_0,y_0,z_0)\varphi\prime(t_0)+F_y(x_0,y_0,z_0)\psi\prime(t_0)+F_z(x_0,y_0,z_0)\omega\prime(t_0)=0 \]

引入向量n:

\[\bm{n}=(F_x(x_0,y_0,z_0), F_y(x_0,y_0,z_0),F_z(x_0,y_0,z_0)) \]

曲线Γ在M点处切向量T:

\[\bm{T}=(\varphi\prime(t_0)), \psi\prime(t_0), \omega\prime(t_0)) \]

有 向量n⊥向量T
而向量T对应曲面上任一曲线,所以经过M点的所有切向量都在一个平面上,该平面⊥向量n.

这个平面(所有切向量形成)称为曲面Σ在点M的切平面,方程为:

\[\tag{10} F_x(x_0,y_0,z_0)(x-x_0)+F_y(x_0,y_0,z_0)(y-y_0)+F_z(x_0,y_0,z_0)(z-z_0)=0 \]

经过点M且与切平面垂直的直线为该点法线,方程为:

\[\tag{11} \frac{x-x_0}{F_x(x_0,y_0,z_0)}=\frac{y-y_0}{F_y(x_0,y_0,z_0)}=\frac{z-z_0}{F_z(x_0,y_0,z_0)} \]

垂直于曲线切平面的向量,称为曲面的在点M的法向量,向量为:

\[\tag{12} \bm{n}=(F_x(x_0,y_0,z_0),F_y(x_0,y_0,z_0),F_z(x_0,y_0,z_0)) \]

\(F_x(x,y,z), F_y(x,y,z), F_z(x,y,z)\)常简写为\(F_x,F_y,F_z\).

为什么F(x,y,z)在点\(M(x_0,y_0,z_0)\)处有连续偏导?
个人理解:
因为M为多元函数F(P)定义域内的聚点(任意去心邻域\(\mathring{U}(M, \delta)\)内,总含点集E(可取为曲面上的点)),而我们取的曲面Σ一般都是连续曲面,由多元函数的连续性定义知,F(P)在定义域内连续.

对于常见的F(x,y,z),作为基本初等函数及其复合函数等3元函数,在定义域内是可导. 如果对于分段式的函数,则不一定可导.

示例:求椭球体表面法向量

椭圆隐函数:

\[f(x,y,z)=\frac{x^2}{a^2}+\frac{y^2}{b^2}+\frac{z^2}{c^2}-1 \]

求该椭球体在点\((x_0,y_0,z_0)\)处法向量.

由前面推导,知法向量:

\[\bm{n}=(F_x,F_y,F_z)=(\frac{2x_0}{a^2},\frac{2y_0}{b^2},\frac{2z_0}{c^2}) \]

参考

同济大学数学系编.高等数学 第六版.下[M]高等教育出版社,2007.
伦吉尔,E.).3D游戏与计算机图形学中的数学方法(第3版)[M].清华大学出版社,2016.