Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

Fw: Motion on interval flavors



George,

Yes. It appears to me you understand correctly.

In the modal interval linear interpolation
   L(U) = A + U * ( B - Dual(A) )
both A and B may be n-dimensional interval vectors representing the error
tolerances of the endpoints of a parametric line segment. Most commonly in
computer graphics and CAD both A and B are 3-dimensional interval vectors,
as you suggest. Sometimes they are 4-dimensional (homogeneous) vectors, if
one is dealing with rational Bezier or b-splines.

The linear interpolation algorithms that define a Bezier or b-spline curve
generalize trivially to parametric surfaces, parametric solids and
higher-dimensional geometric shapes and are fundamental to many important
algorithms in both computer graphics and CAD industry:
   - computing intersections of parametric lines and curves
   - computing intersections of parametric surfaces (e.g., in the
automotive industry where portions of a rectangular Bezier or b-spline
surface are trimmed away into some arbitrary non-rectangular shape)
   - computing intersections of parametric solids
   - motion blur and animation trajectoreis of rigid-body objects
   - inverse kinematics (also used in robotics and manufacturing)
I suspect there may be more, but these are the ones I am familliar with or
use on a daily basis.

Computer graphics is often the proving-ground for HPC simply due to the
millions and millions of compute-hours that go into rendering visual effects
for movies. I don't know if anyone in this forum has ever visited a
production studio, but typically they have large renderfarms with hundreds
of computers and thousands of processors. Speed and efficiency means a lot
to these people, since compute-time is by far the largest bottleneck in
thier production pipelines.

Nate

----- Original Message ----- From: "Corliss, George" <george.corliss@xxxxxxxxxxxxx>
To: "Nate Hayes" <nh@xxxxxxxxxxxxxxxxx>
Cc: "Corliss, George" <george.corliss@xxxxxxxxxxxxx>; "stds-1788"
<stds-1788@xxxxxxxxxxxxxxxxx>
Sent: Sunday, July 08, 2012 11:42 AM
Subject: Re: Motion on interval flavors

Nate,

Thank you.  That is helpful.

Linear interpolation
  L(U) = A + U * ( B - A )

To be sure I understand, one setting might be:

a is a point in R^3
b is a point in R^3
U is a scalar

l(U) = a + U * (b - a)

is a parametric form of a line in R^3 from point a (U = 0) to point b (U = 1).
U in (-\infty, + \infty) describes the line determined by points a and b.
This form arises in computer graphics applications ALL THE TIME.  Now,

l(U) = a + U * (b - a)

is a vector equation.  The components for x, y, and z coordinates has the scalar form

L(U) = A + U * (B - A)

you gave, where A, B, and L represent x, y, or z components of the vector equation.  Then, your example is EXACTLY how one might determine where a line of interest intersects another object of interest, say a bounding box.

Am I understanding/interpreting/applying your example correctly?  Yes, your application to Bezier and b-spline bases for polynomials is a deeper application, but am I on the right track?

That is EXACTLY the sort of example I was hoping to hear. We may justify research interests by "Because it is interesting/beautiful," but the effort to craft a standard MUST rest on "Because it is essential (not just useful) to some task someone pays for."
I HOPE we all accept computer graphics as a task for which people pay A LOT to get the last pixel right.

I think I hear the same sentiment in your conclusion:

Again, I ask the question... if all the interval range enclosures are
computed by complicated floating-point programs, why will any company waste
the time and money to put classical interval operations into hardware. If no
one will hardly use them?

If P1788 is a standard aimed mainly at specifying the interval operations
that will be implemented in hardware, then IMO it should really focus on
Kaucher/modal operations; since in so many of the above examples it is clear
that classical interval operations will simply not be used.

Nate



Attachment: signature.asc
Description: Binary data