Answers:
蓝色向量很容易计算:红色-黑色(向量之间的符号为负)。但是,如果您只想在黑色和红色矢量之间进行插值,则不必进行计算。线性插值只是线性组合。因此,您可以采用:alpha *黑色+(1-alpha)*红色,其中alpha必须来自间隔<0,1>。如果alpha为1,那么您将获得黑色矢量;当alpha为0时,您将获得红色矢量。
如果我理解正确,您将及时在这些向量之间进行插值。因此,只需选择正确的alpha增量即可。
我明白你的意思吗?还是您说的是完全不同的内容?
拍摄这张照片:
AB是从A到B的红色向量。
假设P是从A到B的方式的25%。从原点到P的基本方式是
A + ( B - A ) / 4
= 3/4 A + B / 4
所以3/4 A和1/4 B
另一种发现方法是说您想要一个向量“接近” A到75%,而向量“接近” B到25%。(一个向量“ A”“接近” 100%就是“ A”)。
因此,您还可以找到P:
A*t + (1-t)*B
t = 0.75(说“接近” A的75%)
0.75A + 0.25B
因此,C中用于Vector3f类的简单LERP函数将是:
static Vector3f lerp( const Vector3f& A, const Vector3f& B, float t ){
return A*t + B*(1.f-t) ;
}