vec_lerp(
VECTOR* v,VECTOR* v1,VECTOR* v2,var f);
interpolates the vector v between v1 and v2 according to the factor f.
Parameters:
v |
VECTOR, ANGLE, or COLOR to interpolate between v1 and v2 |
v1 |
first vector |
v2 |
second vector |
f |
interpolation factor |
Modifies:
v - will be interpolated between v1 and v2 according to the factor f
Speed:
Fast
Algorithm:
v = (1-f)*v1 + f*v2
Example (lite-C):
// the following command sets the position vector at halfway between my and you
vec_lerp(position,my.x,you.x,0.5);
// the following function interpolates a position, color, or angle to a target value during a time interval t
function time_lerp(var* v,var* vtarget,var time)
{
wait(1); // put the function in the scheduler for being identified by proc_kill
if (NULL != me)
proc_kill(5); // terminate previous time_lerp calls of the current entity
var vstart[3];
vec_set(vstart,v);
var t;
if (time > 0)
for(t=time_frame; t < time; t += time_frame) {
vec_lerp(v,vstart,vtarget,t/time);
wait(1);
}
vec_set(v,vtarget);
}
See also:
vec_scale
► latest
version online