[ Syntactic note: I've used `predicate' to make a boolean
into an event, as described on p. 16 of the ess. manual.
The Microsoft examples don't bother with this however. ]
Never mind Newton-Raphson, we can use ActiveVRML to find roots!
Given an arbitrary function f find t such that f(t)=0 and apply g to it:
root(f,g) = snapshot(time, predicate( f(time) = 0)) => g ;
Derivative of a non-differentiable function:
jump = 0 until predicate(time=1) => 1;
something = derivative(jump);
Infinitely fast oscillator (nowhere differentiable):
osc = 0 until predicate(true) => 1 until predicate(true) => osc;
something = derivative(osc);
What do the ActiveVRML team have to say about time sampling?
Are integrals and derviatives determined numerically (if so how),
or analytically? How do you handle non-differentiability?
The Microsoft ActiveVRML examples don't stick exactly to the
syntax in the Reference manual. Is this just version trouble?
Mike Wray ([email protected])