• shouye@j909.vip
  • 深圳市龙华区龙华街道三联社区三联创业路19号弓村新城商业中心(汇海广场)C座20层01-03号
  • 17937667601

新闻中心

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

2026-11-13

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

规则与边界

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

本例记录

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

输入 | 状态 | A修正后 | B修正后 {'a': [7, -4], 'b': [19, 12], 'inverse_mass': ['0', '0'], 'length': 11} | 两点固定 | ['7', '-4'] | ['19', '12'] {'a': [-4, -8], 'b': [-4, -8], 'inverse_mass': ['1/3', '1'], 'length': 17} | 方向未定义 | ['-4', '-8'] | ['-4', '-8'] {'a': [-8, 2], 'b': [-20, 18], 'inverse_mass': ['0', '1/2'], 'length': 12} | 已修正 | ['-8', '2'] | ['-76/5', '58/5'] {'a': [7, 3], 'b': [4, 7], 'inverse_mass': ['1/8', '1/7'], 'length': 5} | 已修正 | ['7', '3'] | ['4', '7'] {'a': [-7, -3], 'b': [-19, 13], 'inverse_mass': ['1/2', '1/2'], 'length': 23} | 已修正 | ['-61/10', '-21/5'] | ['-199/10', '71/5'] {'a': [-8, 2], 'b': [1, 14], 'inverse_mass': ['1/3', '1/7'], 'length': 23} | 已修正 | ['-284/25', '-62/25'] | ['61/25', '398/25']

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

复核方法

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

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

能说明什么

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

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