1、证明以下映射是线性的:1. 设V是向量空间,α ∈ R,映射v → αv;2. 求导映射f → df/dx;3. 已知L1、L2是线性映射,映射L1 + L2;4. 已知L是线性映射,映射αL;5. 已知L1、L2是线性映射,映射L2 ◦ L1;6. 已知L是线性且双射的,映射L⁻¹。同时说明某个类似映射在b≠0时不是线性的情况。
# 线性映射验证
根据线性映射的定义(设 $ U $ 和 $ V $ 为向量空间,映射 $ L: U \to V $ 是线性的需满足以下两个条件):
1. 对于所有 $ u, v \in U $,有 $ L(u + v) = L(u) + L(v) $;
2. 对于所有 $ \alpha \in \mathbb{R} $ 和 $ u \in U $,有 $ L(\alpha u) = \alpha L(u) $。
下面分别对上述映射进行验证:
## 映射 $ v \mapsto \alpha v $
设 $ V $ 是向量空间,$ \alpha \in \mathbb{R} $。对于任意 $ u, v \in V $,有:
- $ \alpha(u + v) = \alpha u + \alpha v $
- $ \alpha(\beta u) = (\alpha \beta) u = \beta(\alpha u) $
因此满足线性映射定义。
## 特殊情况:映射在 $ b \neq 0 $ 时不是线性的
此处未详细说明该映射的具体形式,但指出在 $ b \neq 0 $ 时其不满足线性映射定义。
## 求导映射 $ f \mapsto \frac{df}{dx} $
根据求导法则:
- $ \frac{d(f + g)}{dx} = \frac{df}{dx} + \frac{dg}{dx} $
- $ \frac{d(\alpha f)}{dx} = \alpha \frac{df}{dx} $
因此满足线性映射定义。
## 映射 $ L_1 + L_2 $
已知 $ L_1, L_2 $ 是线性映射。对于任意 $ u, v \in U $,有:
- $ (L_1 + L_2)(u + v) = L_1(u + v) + L_2(u + v) = L_1(u) + L_1(v) + L_2(u) + L_2(v) = (L_1 + L_2)(u) + (L_1 + L_2)(v) $
- $ (L_1 + L_2)(\alpha u) = L_1(\alpha u) + L_2(\alpha u) = \alpha L_1(u) + \alpha L_2(u) = \alpha (L_1 + L_2)(u) $
因此满足线性映射定义。
## 映射 $ \alpha L $
已知 $ L $ 是线性映射。对于任意 $ u, v \in U $,有:
- $ (\alpha L)(u + v) = \alpha L(u + v) = \alpha(L(u) + L(v)) = \alpha L(u) + \alpha L(v) = (\alpha L)(u) + (\alpha L)(v) $
- $ (\alpha L)(\beta u) = \alpha L(\beta u) = \alpha(\beta L(u)) = (\alpha \beta)L(u) = \beta(\alpha L(u)) $
因此满足线性映射定义。
## 映射 $ L_2 \circ L_1 $
已知 $ L_1, L_2 $ 是线性映射。对于任意 $ u, v \in U $,有:
- $ (L_2 \circ L_1)(u + v) = L_2(L_1(u + v)) = L_2(L_1(u) + L_1(v)) = L_2(L_1(u)) + L_2(L_1(v)) = (L_2 \circ L_1)(u) + (L_2 \circ L_1)(v) $
- $ (L_2 \circ L_1)(\alpha u) = L_2(L_1(\alpha u)) = L_2(\alpha L_1(u)) = \alpha L_2(L_1(u)) = \alpha (L_2 \circ L_1)(u) $
因此满足线性映射定义。
## 映射 $ L^{-1} $
已知 $ L $ 是线性且双射的。对于任意 $ x, y \in V $,设 $ x = L(u), y = L(v) $,有:
- $ L^{-1}(x + y) = L^{-1}(L(u) + L(v)) = L^{-1}(L(u + v)) = u + v = L^{-1}(x) + L^{-1}(y) $
- $ L^{-1}(\alpha x) = L^{-1}(\alpha L(u)) = L^{-1}(L(\alpha u)) = \alpha u = \alpha L^{-1}(x) $
因此满足线性映射定义。
## 结论
综上所述,除那个未详细说明的映射在 $ b \neq 0 $ 时外,上述映射均满足线性映射定义。
2、考虑由方程z = xy给出的R³中的曲面,求该曲面的隐式表示。
将方程z = xy移项可得隐式表示为xy - z = 0。
3、编写一个计算多边形网格对偶的函数。对偶网格为每个面创建一个顶点,为每个顶点创建一个面。为面创建的顶点应位于该面的中心。
可能解决此问题最简单的方法是创建一个新的网格作为索引面集,然后将该索引面集转换为你选择的表示形式。你需要能够迭代访问所有顶点和面,有一种为面关联属性的方法,以及一种围绕顶点循环的方法。
对于GEL用户:
- 如果你基于示例程序进行工作,只需在前面练习的程序中填充
compute_dual
函数。 - 填充完此函数后,如果你使用示例模型运行该程序,按 “d” 键应生成对偶。
- 注意,反复按 “d” 键将使网格平滑并缩小。
4、实现卡特穆尔 - 克拉克细分算法
如果改变原始网格的连接性,实现起来会很困难。最简单的方法是:
- 先计算为边和面创建的新顶点以及旧顶点的新位置;
- 随后利用这些信息创建一个新的网格。
5、实现 Loop 细分
以下是调整为 Markdown 格式的文本内容:
Loop 细分是基于三角形的、原始的、近似方案,在规则区域中,Loop 细分在极限情况下会重现 C² 四次三角盒样条,在奇异顶点处极限曲面是 C¹。在实现时,关于细分是“原地”进行还是创建新网格,创建新网格更简单,可先计算为边和面创建的新顶点以及旧顶点的新位置,随后用这些信息创建新网格。
6、请实现陶宾平滑(Taubin smoothing)算法
在实现拉普拉斯平滑(即第一次遍历三角形网格使用公式(9.2)计算拉普拉斯算子,第二次遍历使用公式(9.3)更新顶点位置)的基础上,对于陶宾平滑,除每隔一次迭代使用公式
$$ p_i \leftarrow p_i + \lambda \, L(p_i)