参考消息
动漫人物轨迹建模最实用的方法是先确定三个可靠点,再🔍求出二次函数。三个点不能都处于同一条直线上,否则无法得到非退化的二次曲线;三个点还应使用同一套坐标单位。
截图拟合得到的曲线是近似模型,不是对原动画制作过程的证明。动画师可能使用关🚀键帧、补间曲线和镜头缩放来制造节奏,角色的运动轨迹也可能由多个阶段组成,单个二次函数只能描述其中较平滑的一段。
例如,角色从桶旁的💪平台起跳,2秒后落回平台,最高点比平台高3米,可以使用y=-3⚡(t-1)²+3。若平台到桶口高1米,求解y=1即可得到角色经过桶口高度的两个时刻;若只问角色是否越过桶口,则比较顶点高度3米与桶口高度1米即可,不必重复计算整条轨迹。
动画截图中的人物轨迹可以用于近似建模,但图片坐标不能直接当作常规直角坐标系。图像通常以左上角为原点,像素的y值向下增💯加;数学坐标则通常以左下方或场景基准线为原点,y值向上增加。
如果桶是上宽下窄的圆台,桶的纵向剖面常用两条斜直线表示,液体体积随高度变化也不一定是简单的二次关系。若桶是圆柱形,液面高度与液体体积近似成正比;若桶是圆锥形,液面体积与高度的三次方有关。只有在题目给出特殊截面、局部近似或明确的抛物线轮廓时,才适合使用二次函数。
这个模型中的-3决定开口向下,说明角色先上升后下降;顶点坐标为(1,3),表示角色在第1秒达到3米;两个零点为t=0和t=2,表示起跳与落地。若把桶口高度设为1米,就可以进一步求角色何时超过桶口高度,只需令y=1并解方程。
“二次元动漫人物桶二次函数”并不是教材中的固定数学术语。更合理的理解是:把二次元动漫人物放进“从桶边起跳、投掷物体、跨过桶口”等场景🚀,再用二次函数描述角色或物体的运动轨迹。真正适合建立二次函数模型的,通常是人物跳跃的高度变化、抛物线形投掷路径或经过理想化处理的装饰曲😎线,而不是普通水桶的外壁。
二次函数模型只适用于明确的变量范围。角色跳跃公式只能描述起跳到落地这一段,不能直接推断角色落地后的站立、反弹或下一次动作。动画中的缓入、缓出、暂停和夸张变形,也可能让实际画面偏离理想抛物线。
人物跳跃函数通常只在起跳时刻到落地时刻有效,水桶液面函数也只在空桶到装满之间有效。没有定义域的公式可能在数学上能继续计算,却已经脱离了原来的动漫场景。
桶的几何形状需要先看剖面和横截面,不能因为画面中出现曲线就直接套用抛物线。二维画面里的桶口椭圆,是圆柱体或圆形开口的透视表现;椭圆方程与二次函数有关,但椭圆通常不能在整个范围内表示为一个单值的y=f(x)。
设角色从地面起跳,2秒后回到地面,最高点达到3米。令起跳时刻为t=0,落地时刻为t=2,地面高度为y=0,最简模型可以写成:
动漫人物在忽略空气阻力、动作修正和镜头夸张的理想情况下,跳跃高度会随时间先上升后下降,这种变化可以用二次函数近似表示。竖直方向受到近似恒定的重力加速度影响,因此高度关于时间的关系具有二次项。