Difference between revisions of "Interpolation/Hermite/Vector"
< Interpolation | Hermite
Jump to navigation
Jump to search
m |
m |
||
Line 15: | Line 15: | ||
|spec=<lsl>vector vHem(vector a, vector b, vector c, vector d, float t, float tens, float bias){ | |spec=<lsl>vector vHem(vector a, vector b, vector c, vector d, float t, float tens, float bias){ | ||
float t2 = t*t;float t3 = t2*t; | float t2 = t*t;float t3 = t2*t; | ||
vector a0 = (b-a)*(1+bias)*(1-tens)/2; | |||
a0 += (c-b)*(1-bias)*(1-tens)/2; | a0 += (c-b)*(1-bias)*(1-tens)/2; | ||
vector a1 = (c-b)*(1+bias)*(1-tens)/2; | vector a1 = (c-b)*(1+bias)*(1-tens)/2; |
Revision as of 14:01, 24 February 2012
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Summary
Function: vector vHem( vector a, vector b, vector c, vector d, float t, float tens, float bias );
Hermite interpolation of vectors a, b, c and d with fraction t, tension and bias.
Returns a vector
• vector | a | |||
• vector | b | |||
• vector | c | |||
• vector | d | |||
• float | t | |||
• float | tens | |||
• float | bias |
Specification
<lsl>vector vHem(vector a, vector b, vector c, vector d, float t, float tens, float bias){
float t2 = t*t;float t3 = t2*t; vector a0 = (b-a)*(1+bias)*(1-tens)/2; a0 += (c-b)*(1-bias)*(1-tens)/2; vector a1 = (c-b)*(1+bias)*(1-tens)/2; a1 += (d-c)*(1-bias)*(1-tens)/2; float b0 = 2*t3 - 3*t2 + 1; float b1 = t3 - 2*t2 + t; float b2 = t3 - t2; float b3 = -2*t3 + 3*t2; return b0 * b + b1 * a0 + b2 * a1 + b3 * c;
} // Released into public domain. By Nexii Malthus.</lsl>
Examples
<lsl></lsl>