|
|
Tor Olav Kristensen wrote:
>...
>
> #macro vGradient(Fn, p0)
>
> #local H = 0.00001;
>
> <Fn(p0.x + H, p0.y, p0.z) - Fn(p0.x - H, p0.y, p0.z),
> Fn(p0.x, p0.y + H, p0.z) - Fn(p0.x, p0.y - H, p0.z),
> Fn(p0.x, p0.y, p0.z + H) - Fn(p0.x, p0.y, p0.z - H)>/2/H;
>
> #end // macro vGradient
>...
I just noticed that this macro had a little error.
Here's a better version of it:
#macro vGradient(Fn, p0)
#local H = 0.00001;
(<Fn(p0.x + H, p0.y, p0.z) - Fn(p0.x - H, p0.y, p0.z),
Fn(p0.x, p0.y + H, p0.z) - Fn(p0.x, p0.y - H, p0.z),
Fn(p0.x, p0.y, p0.z + H) - Fn(p0.x, p0.y, p0.z - H)>/2/H)
#end // macro vGradient
Tor Olav
Post a reply to this message
|
|