• j9tiyu@j9.com
  • 广州市天河区兴民路222号之一(自编C1栋办公楼)2301房(仅限办公用途)

沿折线路径移动为什么要按距离分配时间:十次取样比较两种折线移动(实例14)

2026-11-05

把相邻两个路标之间都分配同样时间,在长线段上就会走得更快。若目标是稳定的路径速度,需要先计算各段长度,再让时间对应累计路程。

先确定规则与输入

本例路径只由水平和竖直线段组成,所有段长为正,整体时间归一化到零至一。比较两种方式:每段等时,以及每段按长度占比分配时间。拐角处位置连续,但运动方向允许立即改变。

路标[[0, 0], [9, 0], [9, 9], [2, 9], [2, 15]] 四段长度[9, 9, 7, 6],总长31

逐项算出过程

时刻0,每段等时位置['0', '0'];按累计路程0查找,等速位置['0', '0']。前者的段内路程速度取决于当前段长,后者每单位时间走总长31。

时刻1/4,每段等时位置['9', '0'];按累计路程31/4查找,等速位置['31/4', '0']。前者的段内路程速度取决于当前段长,后者每单位时间走总长31。

时刻1/2,每段等时位置['9', '9'];按累计路程31/2查找,等速位置['9', '13/2']。前者的段内路程速度取决于当前段长,后者每单位时间走总长31。

时刻3/4,每段等时位置['2', '9'];按累计路程93/4查找,等速位置['15/4', '9']。前者的段内路程速度取决于当前段长,后者每单位时间走总长31。

时刻1,每段等时位置['2', '15'];按累计路程31查找,等速位置['2', '15']。前者的段内路程速度取决于当前段长,后者每单位时间走总长31。

时刻3/4,每段等时位置['2', '9'];按累计路程93/4查找,等速位置['15/4', '9']。前者的段内路程速度取决于当前段长,后者每单位时间走总长31。

时刻7/20,每段等时位置['9', '18/5'];按累计路程217/20查找,等速位置['9', '37/20']。前者的段内路程速度取决于当前段长,后者每单位时间走总长31。

时刻7/20,每段等时位置['9', '18/5'];按累计路程217/20查找,等速位置['9', '37/20']。前者的段内路程速度取决于当前段长,后者每单位时间走总长31。

时刻2/5,每段等时位置['9', '27/5'];按累计路程62/5查找,等速位置['9', '17/5']。前者的段内路程速度取决于当前段长,后者每单位时间走总长31。

时刻3/5,每段等时位置['31/5', '9'];按累计路程93/5查找,等速位置['42/5', '9']。前者的段内路程速度取决于当前段长,后者每单位时间走总长31。

四分之一、二分之一和四分之三时刻,在每段等时方式下正好落在路标上;等速方式只在对应累计长度比例时经过相同路标。

复核时看什么

把查询时刻换成总路程,依次扣除整段长度,剩余距离落在哪一段,就从该段起点沿方向前进。查询正好位于边界时,两侧表示都应给出同一个路标坐标。

练习时可以先遮住结果,沿用相同输入独立记录中间状态,再逐项比较。发现不同后先定位最早分歧,确认边界包含方式、编号起点、更新顺序以及是否提前取整。最后结果一致也不表示每个中间步骤都正确,因此保留过程记录有助于看清原因。

适用范围

按距离等速不等于运动一定自然。急拐弯可能还需要速度限制、曲线过渡或动画处理。本例不处理加速度、停留和避障,只隔离段长不同导致的速度差异。