体育动态

固定长度连接怎样按质量分摊位置修正:独立算例12

2026-11-13

两点之间的连接如果被拉长或压短,可以直接调整它们的位置,使距离回到目标长度。让轻的一侧移动得多、重的一侧移动得少,是一种明确可计算的分摊方式。

规则与边界

先求从A到B的单位方向,距离误差为当前距离减目标长度。按两侧逆质量占逆质量总和的比例分摊误差,A沿方向移动自己的份额,B反向移动自己的份额。逆质量为零表示固定点,固定点不移动。

本例记录

六组独立连接,坐标为平面点,逆质量零表示固定,长度必须为正。

输入 | 状态 | A修正后 | B修正后 {'a': [-2, 8], 'b': [-8, 16], 'inverse_mass': ['0', '0'], 'length': 5} | 两点固定 | ['-2', '8'] | ['-8', '16'] {'a': [3, -2], 'b': [3, -2], 'inverse_mass': ['1/2', '1/6'], 'length': 22} | 方向未定义 | ['3', '-2'] | ['3', '-2'] {'a': [-3, -1], 'b': [-9, 7], 'inverse_mass': ['0', '1'], 'length': 22} | 已修正 | ['-3', '-1'] | ['-81/5', '83/5'] {'a': [-2, 1], 'b': [-14, 17], 'inverse_mass': ['1/3', '1/8'], 'length': 9} | 已修正 | ['-34/5', '37/5'] | ['-61/5', '73/5'] {'a': [2, -7], 'b': [11, 5], 'inverse_mass': ['1/7', '1'], 'length': 3} | 已修正 | ['29/10', '-29/5'] | ['47/10', '-17/5'] {'a': [-7, 2], 'b': [-4, 6], 'inverse_mass': ['1/5', '1/2'], 'length': 16} | 已修正 | ['-311/35', '-18/35'] | ['5/7', '86/7']

表中编号只标记本例对象,不表示排名或另一组数据中的身份。先确认输入单位与边界约定,再逐步核对中间值。零、空结果和不存在是不同状态,不能因为显示相近就互相替代;分数用精确形式保留,便于重新演算。

复核方法

修正后距离应等于目标长度。两侧都能移动时,按真实质量加权的位置中心应保持;一侧固定时全部误差由另一侧承担。两点重合时方向不存在,两侧都固定时也无法修正,必须单独报告而不是除以零。

练习时分别试目标长度大于和小于当前距离,观察方向符号是否正确。固定点与极重但仍能移动的点不是完全相同的概念。若投影后还要更新速度,应明确用何种时间间隔和位置差计算,避免无意中产生额外能量。

能说明什么

这是一次位置约束投影,不是力或冲量的计算,也没有自动更新速度。多个连接串在一起时,修正一条可能影响另一条,需要另行规定迭代次数、顺序和收敛条件,不能把一次投影当成整个系统已经稳定。

这份记录用于理解明确规则下的游戏机制。改变输入后,结果也应随之重新计算;若操作规则不同,应先把新规则写清再比较。可以从一两个步骤手算开始,找出第一处差异,而不是只对照最后一个数值。全部中间记录都属于当前案例,不能直接当成其他场景的固定答案。