能力函数是二次元世界中角色能力的数学抽象,是理解和设计角色能力的基础。
能力函数的定义
在二次元世界的数学模型中,角色的特殊能力可以被抽象为一种映射关系,我们称之为能力函数(Ability Function) 。此函数严格描述了能力如何将输入(作用目标或条件)转化为输出(作用效果)。
能力函数的定义
设 X \mathcal{X} X 为能力的输入空间(Input Space) ,包含了所有可能的能力作用目标、初始条件或触发状态。设 Y \mathcal{Y} Y 为能力的输出空间(Output Space) ,包含了所有可能的能力作用效果。
一个能力函数 是一个映射:
F : X → Y F: \mathcal{X} \to \mathcal{Y} F : X → Y
它将每个输入 x ∈ X x \in \mathcal{X} x ∈ X 映射到唯一的输出 y = F ( x ) ∈ Y y = F(x) \in \mathcal{Y} y = F ( x ) ∈ Y 。
此时称:
x x x 为能力的输入 或原像 。
y = F ( x ) y = F(x) y = F ( x ) 为能力在输入 x x x 下的输出 或像 。
映射 F F F 的具体形式,体现了角色能力的使用规则与使用效果。
能力函数具有以下重要特征:
输入与输出空间的广泛性 :输入空间 X \mathcal{X} X 和输出空间 Y \mathcal{Y} Y 不限于传统的数集,可以是角色、物体等实体对象的集合,HP、MP、状态等属性值的集合,空间坐标、时间区间等连续范畴,或向量、矩阵等抽象数学结构。
世界观的约束 :同一世界观下的所有能力函数必须遵守该世界设定的基本规律。
确定性 :对于确定的输入 x x x ,能力函数必须产生确定的输出 F ( x ) F(x) F ( x ) 。
能力函数的两种类型
根据输入 x x x 的数学性质及其被处理的方式,能力函数在实践中表现为两种基本类型:离散型能力函数和连续型能力函数。
离散型能力函数
当能力函数的输入是离散的、可数的对象时,其作用模式是离散的。
离散型能力函数的定义
若能力函数 F F F 的输入空间 X \mathcal{X} X 是一个离散集合(有限或可数无限),则称 F F F 为离散型能力函数 。其效果通过直接将函数作用于每个输入元素来实现:
Y = F ( X ) = { F ( x ) ∣ x ∈ X } \mathcal{Y} = F(\mathcal{X}) = \{F(x) \mid x \in \mathcal{X}\} Y = F ( X ) = { F ( x ) ∣ x ∈ X }
若本次能力发动仅针对输入集合 X = { x 1 , x 2 , … , x n } ⊆ X X = \{x_1, x_2, \ldots, x_n\} \subseteq \mathcal{X} X = { x 1 , x 2 , … , x n } ⊆ X ,则对应的输出集合 Y = { y 1 , y 2 , … , y n } \mathcal{Y} = \{y_1, y_2, \ldots, y_n\} Y = { y 1 , y 2 , … , y n } 为:
∀ x i ∈ X , y i = F ( x i ) \forall x_i \in X, \quad y_i = F(x_i) ∀ x i ∈ X , y i = F ( x i )
示例:单体治愈术
角色A的治愈术以单一角色为目标,恢复其50点HP。能力函数为:
F heal ( HP ) = HP + 50 F_{\text{heal}}(\text{HP}) = \text{HP} + 50 F heal ( HP ) = HP + 50
连续型能力函数
当能力函数的输入是一个连续空间的元素,且其效果需要通过”累积”来计算时,其作用模式是连续的。
连续型能力函数的定义
若能力函数 F F F 的输入空间是一个连续域 Ω \Omega Ω ,并且总效果由定义在 Ω \Omega Ω 上的效果密度函数 f ( ω ) f(\omega) f ( ω ) 积分得到,则称 F F F 为连续型能力函数 。其总效果为:
Y = F ( Ω ) = ∫ Ω f ( ω ) d ω \mathcal{Y} = F(\Omega) = \int_{\Omega} f(\omega) \, \mathrm{d}\omega Y = F ( Ω ) = ∫ Ω f ( ω ) d ω
其中 ω \omega ω 是域 Ω \Omega Ω 上的微元,f : Ω → R f: \Omega \to \mathbb{R} f : Ω → R 是密度函数,它本身可以看作一个局部的、点上的能力函数。
从形式上看,连续型能力函数与离散型能力函数的表达式并无区别,都是 Y = F ( X ) \mathcal{Y}=F(\mathcal{X}) Y = F ( X ) 。但其计算方式和应用场景有本质区别:离散型能力函数可以直接对每个离散输入进行函数求值,适用于单体或有限目标的能力作用;连续型能力函数虽然表达式相同,但无法直接进行求值,而是通过积分对连续域内的效果密度进行累积,适用于范围性、区域性或时间段性的能力作用。
示例:范围火球术
角色B释放火球术,对圆形区域 Ω = { r ⃗ ∈ R 2 : ∥ r ⃗ ∥ ≤ R } \Omega = \{\vec{r} \in \mathbb{R}^2 : \|\vec{r}\| \leq R\} Ω = { r ∈ R 2 : ∥ r ∥ ≤ R } 造成伤害。伤害密度在中心最高,向外衰减,定义为 f ( r ⃗ ) = 100 e − ∥ r ⃗ ∥ 2 f(\vec{r}) = 100 e^{-\|\vec{r}\|^2} f ( r ) = 100 e − ∥ r ∥ 2 。经极坐标变换求解得:
F fireball ( Ω ) = 100 π ( 1 − e − R 2 ) F_{\text{fireball}}(\Omega) = 100\pi (1 - \mathrm{e}^{-R^2}) F fireball ( Ω ) = 100 π ( 1 − e − R 2 )
该能力对区域内位于点 r ⃗ p \vec{r}_p r p 的单个目标造成的伤害,是密度函数在该点的取值 f ( r ⃗ p ) = 100 e − ∥ r ⃗ p ∥ 2 f(\vec{r}_p) = 100 \mathrm{e}^{-\|\vec{r}_p\|^2} f ( r p ) = 100 e − ∥ r p ∥ 2 ,体现了连续型能力函数与离散型能力函数在计算上的关联与区别。
符咒
符咒(Spell) 是世界观中一种特殊的能力函数算子,它通过改变能力函数本身的映射规则来创造新的能力。
符咒的定义
设 F \mathscr{F} F 为某世界观下所有能力函数构成的集合。一个符咒 O \mathcal{O} O 是一个从能力函数集到其自身的映射:
O : F → F \mathcal{O}: \mathscr{F} \to \mathscr{F} O : F → F
它将一个能力函数 F ∈ F F \in \mathscr{F} F ∈ F 映射为另一个新的能力函数 O F ∈ F \mathcal{O}F \in \mathscr{F} O F ∈ F 。
对于任意作用对象 x ∈ X F x \in \mathcal{X}_F x ∈ X F ,新能力函数的效果由下式确定:
( O F ) ( x ) (\mathcal{O}F)(x) ( O F ) ( x )
符咒 O \mathcal{O} O 改变了能力的作用规则,而不仅仅是其输出值。
符咒与简单函数复合的关键区别在于:符咒操作的是函数本身这一映射规则,而非具体的输入输出值。常见的符咒类型包括:
线性强化符咒 E k \mathcal{E}_k E k :重新定义能力函数的输出为原输出的 k k k 倍。
( E k F ) ( x ) = k ⋅ F ( x ) (\mathcal{E}_k F)(x) = k \cdot F(x) ( E k F ) ( x ) = k ⋅ F ( x )
指数衰减符咒 D λ \mathcal{D}_{\lambda} D λ :使能力函数效果随空间或时间坐标指数衰减。
( D λ F ) ( r ) = F ( r ) ⋅ e − λ ∥ r ∥ (\mathcal{D}_{\lambda} F)(\mathbf{r}) = F(\mathbf{r}) \cdot \mathrm{e}^{-\lambda \|\mathbf{r}\|} ( D λ F ) ( r ) = F ( r ) ⋅ e − λ ∥ r ∥
作用域限制符咒 R S \mathcal{R}_S R S :将能力函数的有效作用域限制在区域 S S S 内。
( R S F ) ( x ) = { F ( x ) 若 x ∈ S 0 若 x ∉ S (\mathcal{R}_S F)(x) = \begin{cases} F(x) & \text{若 } x \in S \\ 0 & \text{若 } x \notin S \end{cases} ( R S F ) ( x ) = { F ( x ) 0 若 x ∈ S 若 x ∈ / S
符咒的复合运算 O 2 O 1 \mathcal{O}_2 \mathcal{O}_1 O 2 O 1 定义为:
( O 2 O 1 ) F = O 2 ( O 1 F ) (\mathcal{O}_2 \mathcal{O}_1)F = \mathcal{O}_2(\mathcal{O}_1 F) ( O 2 O 1 ) F = O 2 ( O 1 F )
符咒的复合通常不满足交换律,即 O 2 O 1 ≠ O 1 O 2 \mathcal{O}_2 \mathcal{O}_1 \neq \mathcal{O}_1 \mathcal{O}_2 O 2 O 1 = O 1 O 2 。
向量微分符咒
向量微分符咒(Nabla Spell) 是世界观中最为强大的空间变化符咒之一,一般写作 ∇ \nabla ∇ 。该符咒可以同时操控空间中的多种变化率,根据不同的组合方式实现高斯公式、格林公式等强大效果。
向量微分符咒的概念
向量微分符咒的定义
在三维空间中,向量微分符咒 ∇ \nabla ∇ 定义为:
∇ = ( ∂ ∂ x , ∂ ∂ y , ∂ ∂ z ) \nabla = \left(\frac{\partial}{\partial x}, \frac{\partial}{\partial y}, \frac{\partial}{\partial z}\right) ∇ = ( ∂ x ∂ , ∂ y ∂ , ∂ z ∂ )
该符咒可以作用于标量能力函数 φ \varphi φ 或向量能力函数 F = ( F x , F y , F z ) \mathbf{F}=(F_x,F_y,F_z) F = ( F x , F y , F z ) ,产生不同效果:
梯度符咒 :∇ φ = ( ∂ φ ∂ x , ∂ φ ∂ y , ∂ φ ∂ z ) \nabla\varphi = \left(\frac{\partial\varphi}{\partial x}, \frac{\partial\varphi}{\partial y}, \frac{\partial\varphi}{\partial z}\right) ∇ φ = ( ∂ x ∂ φ , ∂ y ∂ φ , ∂ z ∂ φ )
散度符咒 :∇ ⋅ F = ∂ F x ∂ x + ∂ F y ∂ y + ∂ F z ∂ z \nabla\cdot\mathbf{F} = \frac{\partial F_x}{\partial x} + \frac{\partial F_y}{\partial y} + \frac{\partial F_z}{\partial z} ∇ ⋅ F = ∂ x ∂ F x + ∂ y ∂ F y + ∂ z ∂ F z
旋度符咒 :∇ × F = ( ∂ F z ∂ y − ∂ F y ∂ z , ∂ F x ∂ z − ∂ F z ∂ x , ∂ F y ∂ x − ∂ F x ∂ y ) \nabla\times\mathbf{F} = \left(\frac{\partial F_z}{\partial y} - \frac{\partial F_y}{\partial z}, \frac{\partial F_x}{\partial z} - \frac{\partial F_z}{\partial x}, \frac{\partial F_y}{\partial x} - \frac{\partial F_x}{\partial y}\right) ∇ × F = ( ∂ y ∂ F z − ∂ z ∂ F y , ∂ z ∂ F x − ∂ x ∂ F z , ∂ x ∂ F y − ∂ y ∂ F x )
而在二维平面上,∇ \nabla ∇ 符咒可以类似地定义为:
∇ 2D = ( ∂ ∂ x , ∂ ∂ y ) , ∇ 2D × F = ∂ F y ∂ x − ∂ F x ∂ y \nabla_{\text{2D}} = \left(\frac{\partial}{\partial x}, \frac{\partial}{\partial y}\right),\quad \nabla_{\text{2D}}\times \bm{F}=\frac{\partial F_y}{\partial x} - \frac{\partial F_x}{\partial y} ∇ 2D = ( ∂ x ∂ , ∂ y ∂ ) , ∇ 2D × F = ∂ x ∂ F y − ∂ y ∂ F x
当一个连续性能力函数作用的时候,会形成一个场。这个场又称作能力场(Ability Field) 。
向量微分符咒的应用
向量微分符咒的主要效果就是作用域的升维 。
高斯符咒公式
当 ∇ \nabla ∇ 符咒与闭合曲面积分组合时,可实现作用域从曲面域到空间域的变化:
∯ ∂ V F ⋅ d S = ∭ V ( ∇ ⋅ F ) d V \oiint_{\partial V} \mathbf{F}\cdot\mathrm{d}\mathbf{S}=\iiint_V (\nabla\cdot\mathbf{F}) \,\mathrm{d}V ∬ ∂ V F ⋅ d S = ∭ V ( ∇ ⋅ F ) d V
格林符咒公式
在二维平面上,∇ 2D \nabla_{\text{2D}} ∇ 2D 符咒与闭合曲线积分组合:
∮ C ( L d x + M d y ) = ∬ D ( ∂ M ∂ x − ∂ L ∂ y ) d x d y \oint_C (L\,\mathrm{d}x + M\,\mathrm{d}y) = \iint_D \left(\frac{\partial M}{\partial x} - \frac{\partial L}{\partial y}\right) \mathrm{d}x\,\mathrm{d}y ∮ C ( L d x + M d y ) = ∬ D ( ∂ x ∂ M − ∂ y ∂ L ) d x d y
斯托克斯符咒公式
对于空间曲线,∇ \nabla ∇ 符咒与闭合曲线积分组合:
∮ C F ⋅ d r = ∬ S ( ∇ × F ) ⋅ d S \oint_C \mathbf{F}\cdot\mathrm{d}\mathbf{r} = \iint_S (\nabla\times\mathbf{F})\cdot\mathrm{d}\mathbf{S} ∮ C F ⋅ d r = ∬ S ( ∇ × F ) ⋅ d S
这些公式展示了向量微分符咒如何借助闭合积分实现作用域的升维——从曲线到曲面,从曲面到体积。