主要内容
参数函数,两个参数
若要表示空间中的曲面,可以使用具有二维输入和三维输出的函数。
背景知识
我们要做什么
- 要绘制一个具有二维输入和三维输出的函数, 你可以从输入空间中选择某个区域, 画出这个区域对应的所有输出值的点. 这会生成一个面, 即所谓的 参数曲面.
- 将这个过程反过来, 从空间中的一个面着手, 试着找到一个函数, 函数的图形就是这个曲面, 就是 参数化 这个面. 一般来说, 这是一件棘手的事情.
快速回顾单参数函数
在 上一篇文章 中, 我谈到描绘一个具有一维输入和二维输出的函数. 例如:
我谈到由于输出空间的维数多于输入空间的维数, 我们怎样通过让t在某个范围取值, 得到函数在输出空间的点, 从而对该函数有一个直观的感受.
用这种方法解释一个函数, 就是所谓的 参数函数, 它的输入 t 被称为 参数
两个参数
对具有二维输入和三维输出的函数, 我们也可以用类似的方法解释.
两个输入 s 和 t 都被称为参数, 你将会看到我们怎样在三维空间中画出一个函数的曲面.
用这种方法描述函数的第一步是指定输入的取值范围, 比如
下面是该取值范围在输入空间中的样子.
接下来, 我们将考虑在该范围内函数的所有可能输出.
输入 left parenthesis, s, comma, t, right parenthesis | 输出 left parenthesis, t, cubed, minus, s, t, comma, s, minus, t, comma, s, plus, t, right parenthesis |
---|---|
left parenthesis, 0, comma, 0, right parenthesis | left parenthesis, 0, comma, 0, comma, 0, right parenthesis |
left parenthesis, 1, comma, 0, right parenthesis | left parenthesis, 1, comma, 1, comma, 1, right parenthesis |
left parenthesis, 2, comma, 1, right parenthesis | left parenthesis, 6, comma, 1, comma, 3, right parenthesis |
\varvdots, rectangle | \varvdots, rectangle |
好吧, 我们并不 真地 写出所有可能的输出, 因为, 你知道, 这涉及到无穷多的数. 不过, 原则上, 我们的目标是把所有这些值表示出来. 由于函数的输出包括三个分量, 我们在三维空间中可以将输出结果描绘出来.
下面的动画显示了参数空间里的点 left parenthesis, s, comma, t, right parenthesis 移动到三维空间里的对应的 f, left parenthesis, s, comma, t, right parenthesis 输出:
三维空间中生成的曲面叫做 参数曲面.
警告: 这样的曲面跟二维输出一维输入的函数的图形很容易混淆, 因为那种函数图形也是在三维空间中绘制的曲面. 但是参数函数 非常不同. 他们具有二维输入和三维输出. 注意, 这意味着要想画出他们的图形需要五维空间!
参数化一个曲面
理解参数函数的最佳方法之一是根据你想描述的一个曲面, 找到可以据此绘制这个参数曲面的函数. 这在将来学习多元微积分中的 曲面积分 也是一个有用的技能.
不过请注意, 参数化曲面并不容易. 在下面的例子中, 我们将要参数化一个 圆环, 和甜甜圈形状一样. 在各种曲面形状中, 圆环是相对简单的例子, 但它仍需下一番 苦 功夫.
示例: 参数化圆环 (甜甜圈)
考虑上图中的表面. 你可以认为它是一个甜甜圈, 或者也许认为它是甜甜圈表面的浆汁更贴切, 我们并不关心里面填充的是什么. 我们现在的目的是找到一个具有二维输入和三维输出的函数, 这个函数的输出就是甜甜圈的形状.
我们想象"画出" 这个曲面, 尽管我们不能像画曲线那样简单地用纸和笔画一个曲面.
实际上,我们的策略是画这个圆环的每个圆形的切片. 图中给出了一些我所说的切片的样例 (蓝色的部分):我还在 x, y-平面上画了一个大的红色圆圈, 它穿过每个切片的中心. 这个红色的圆圈并不是圆环的一部分, 但对绘制每个蓝色的切片是很有用的参考点.
在实际问题中, 红色圆圈的半径可能会告诉你, 每个蓝色圆圈的半径也会是已知的. 这里, 我们随便指定红色圆圈的半径是 3, 每个蓝色圆圈的半径是 1, 选择不同的值, 则圆环的大小是不同的.
核心思想: 我们将把圆环上的每个点描述成两个向量的和:
- 向量 start bold text, c, end bold text, with, vector, on top 的起点是原点, 它指向红色圆圈上的某个点. 要确定这个点是红圈上的 哪个 点, 我们将会设计一个向量值函数, 它取决于参数 t. 当 t 的值发生改变时, 用来描述红圈上的点的向量 start bold text, c, end bold text, with, vector, on top, left parenthesis, t, right parenthesis 也会随之发生变化.
- 向量 start bold text, d, end bold text, with, vector, on top 的起点是红圈上的那个点, 它指向圆环上相应 "切片" 上的某个点. 这个向量的方向取决于它在红圈上的锚点, 因此向量 start bold text, d, end bold text, with, vector, on top 的值应该由上述用来描述红圈上的点的参数 t 决定, 我们将推出第二个参数 u, 用它确定 start bold text, d, end bold text, with, vector, on top 指向蓝色圆圈上的哪部分.
这意味着圆环上的每个点都将被描述为两个向量的和。
(如果你不熟悉用头-到-尾方法计算向量相加, 可参考 这个视频).
为什么采用这个策略?
这里我们的思路是, 我们不知道怎样定义圆环上的点, 但我们 确实 知道怎样定义圆.
由于 x, y-平面上的这个大的红色圆圈是水平的, 它的半径是 3, 我们可以用下面的方法把它参数化:
现在, 向量值函数 start bold text, d, end bold text, with, vector, on top, left parenthesis, u, comma, t, right parenthesis 应该也用来表述一个圆, 但困难在于, 我们想用 start bold text, d, end bold text, with, vector, on top, left parenthesis, u, comma, t, right parenthesis 来画的这个圆环上的 (蓝色) 圆形切片有一个角度. 你如何在三维空间画一个有角度的圆?
好吧, 让我们已学会的知识开始. 我们知道, 在两维空间中, 以原点为中心的单位圆可以用下面这个参数函数来描述:
对于我们所需的蓝色圆形切片, 我们也用类似方法, 但把 start bold text, i, end bold text, with, hat, on top 和 start bold text, j, end bold text, with, hat, on top 变为不同的单位向量. 来看下面这张图:
我们不用 x-方向上的单位向量 start bold text, i, end bold text, with, hat, on top 来表示那个 "斜" 的方向, 我们用它来表示从原点出发, 辐射出去的一个单位向量, 我们称之为 start bold text, v, end bold text, with, hat, on top. 实际上,由于辐射出去的方向可能依赖于我们的起点, start bold text, v, end bold text, with, hat, on top 应该是取决于参数 t 的一个向量值函数, 所以我们把它写成 start bold text, v, end bold text, with, hat, on top, left parenthesis, t, right parenthesis.
同样, 向 "上" 的方向不再用 start bold text, j, end bold text, with, hat, on top 来表示, 而是用z-方向的单位向量 start bold text, k, end bold text, with, hat, on top 来表示. 因此, 圆形切片的参数化结果是这样的:
这会产生一个问题: start bold text, v, end bold text, with, hat, on top, left parenthesis, t, right parenthesis 的公式是什么?
观察这张图, 从原点向外辐射的方向也用 start bold text, c, end bold text, with, vector, on top, left parenthesis, t, right parenthesis 来描述, 因此 start bold text, v, end bold text, with, hat, on top, left parenthesis, t, right parenthesis 的公式应该与 start bold text, c, end bold text, with, vector, on top, left parenthesis, t, right parenthesis 的公式相同, 只是缩减为一个单位向量.
也就是说 start bold text, d, end bold text, with, vector, on top, left parenthesis, u, comma, t, right parenthesis 的完整表达式是
将其放在主页上
请记住, 我们定义 start bold text, d, end bold text, with, vector, on top, left parenthesis, u, comma, t, right parenthesis 和 start bold text, c, end bold text, with, vector, on top, left parenthesis, t, right parenthesis 的全部原因是把圆环上的每个点描述成 start bold text, c, end bold text, with, vector, on top, left parenthesis, t, right parenthesis, plus, start bold text, d, end bold text, with, vector, on top, left parenthesis, u, comma, t, right parenthesis. 把上述过程放在一起, 我们得到了下面这个双参数向量值函数:
由于 u 在 0 到 2, pi 的范围内取值, 函数 f, with, vector, on top, left parenthesis, u, comma, t, right parenthesis 的输出就是蓝色切片上的每个点, 又由于 t 在 0 到 2, pi 的范围内取值, 所有切片合在一起就形成了整个圆环.
如果我们从参数空间 0, is less than or equal to, u, is less than or equal to, 2, pi 和 0, is less than or equal to, t, is less than or equal to, 2, pi 里选择某些点, 然后观看他们移动到函数 f, with, vector, on top, left parenthesis, u, comma, t, right parenthesis 的输出空间, 这个过程或许可以这样描画:
总结
- 要绘制一个具有二维输入和三维输出的函数, 你可以从输入空间中选择某个区域, 画出这个区域对应的所有输出值的点. 这会生成一个面, 即所谓的 参数曲面.
- 将这个过程反过来, 从空间中的一个面着手, 试着找到一个函数, 函数的图形就是这个曲面, 就是 参数化 这个面. 一般来说, 这是一件棘手的事情.