|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
hi
newbie here
in interpolation confusion
>>> reading 1st :
- doc : 3.2.2.8.4 "Returning a Value Like a Function"
Interpolate(T,T1,T2,P1,P2) (P1+(T1+T/(T2-T1))*(P2-P1)) 5 args
scenes/language/macros/macro3.pov
author: Chris Young
happy to cut & paste Chris Young work,
i include some std.inc ...
------------------------------
oops : macro need now 6 args !
------------------------------
>>> further readings ...
- doc : 3.7.9.1 math.inc "Float functions and macros"
#macro Interpolate(GC, GS, GE, TS, TE, Method) 6 args
"Interpolation macro"
author: Margus Ramst
-- ok, i have to put includes 1st to avoid macro overwrite --
but my_source.pov is
many lines ...
tests ...
then if (animation)
include my_include (calling math.inc)
interpolate ...
then goto_sleep
else the_end
maybe some renaming ?
P.S.: thx to the pov team for this marvellous game !
P.S.P.S. : -- ok, after povray language i have to learn more english :)
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"marc" <tra### [at] freefr> wrote:
> hi
> newbie here
> in interpolation confusion
>
> >>> reading 1st :
>
> - doc : 3.2.2.8.4 "Returning a Value Like a Function"
> Interpolate(T,T1,T2,P1,P2) (P1+(T1+T/(T2-T1))*(P2-P1)) 5 args
> scenes/language/macros/macro3.pov
> author: Chris Young
The macro you refer to here looks wrong.
#macro Interpolate(T,T1,T2,P1,P2)
(P1+(T1+T/(T2-T1))*(P2-P1))
#end
It should probably have been made like this:
#macro LinearInterpolate(T, T1, T2, P1, P2)
(P1 + (T - T1)/(T2 - T1)*(P2 - P1))
#end // macro LinearInterpolate
Here is how I arrived at that formula:
(P - P1)/(T - T1) = (P2 - P1)/(T2 - T1)
P - P1 = (T - T1)*(P2 - P1)/(T2 - T1)
P = P1 + (T - T1)*(P2 - P1)/(T2 - T1)
P = P1 + (T - T1)/(T2 - T1)*(P2 - P1)
--
Tor Olav
http://subcube.com
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
|
|