如何在多个3D点之间进行线性“混合”?

我有一套3D点,我需要“融合”之间。 可以说,我有点[A,B,C],我有我想要混合的数量[0.5,0.2,0.8],我怎么能混合这些点之间的数额,我需要?

显然,如果我只有2点,我可以使用vectormath(A + (B - A) * ratio)

方法1:我目前使用加权平均,我想这给了我加权的中心,但我需要尝试不同的混合风格,看看最好看。

方法2如果我这样做:

  1. 计算一个差异向量,每个3D点对应默认点(我确实有一个默认点)

    A - Default

  2. 然后将这个差值与混合量相乘

    (A - Default) * Amount

  3. 并加上这些,是否会工作? 我会得到什么结果?

    (A - Default) * A_Amount + (B - Default) * B_Amount + (C - Default) * C_Amount

它被称为重心。 这里你的观点是:

 P = (A * A_ratio + B * B_ratio + C * C_ratio) / (A_ratio + B_ratio + C_ratio) 

不好的是,维基百科对此没有专门的页面,所以你必须理解质心的解释,这只是重心应用于物理学的一个概括。

编辑:你的第二个方法是等于:

 P - default 

certificate:

 ((A - def) * A_r + (B - def) * B_r + (C - def) * C_r) / (A_r + B_r + C_r) = (A * A_r + B * B_r + C * C_r) / (A_r + B_r + C_r) - def * (A_r + B_r + C_r) / (A_r + B_r + C_r) = P - def