From: Dan W. (danw_at_[hidden])
Date: 2004-02-11 22:10:11
Haven't been around in a while, I was just checking back to the units
threads and saw a bit more discussion 'bout adding temperatures, date
and time, absolute vs. relative quantities. Now I suddenly saw the
light: "absolute" is a relative term... 0.5f * pun_intended().
I will prove this once and for all time with a simple example of a
mechanical drawing. If you've been procrastinating setting a monospaced
font for viewing messages, procrastinate no more:
____________ V0 = 000 ("datum" line)
| / \
| | | -.- V1 = 150
| / \
| | | -.- V2 = 450
| / \
| | | -.- V3 = 750
|____________ V4 = 900
(dimensions are in mils (thousands of an inch) )
assert( V4 - V3 == V1 - V0 ); // no problemo
assert( V3 - V2 == V2 - V1 ); // no problemo
assert( V1 + V2 + V3 >= V4 ); // uhhhh....???
In other words, dimensions that are all measured to the same edge are
"absolute" relative to each other. (See I'm no punster?)
So far so good.
Now, what happens if I have...
a = V2 - V1;
b = V3 - V1; //NOT V3 - V2, note...
Both we might call "relative", since they are both differences between
absolutes, right? I should be able to add them right? WRONG!!!
assert( a + b >= b ); // DOH!...
a and b are both measured from V1, and therefore, relative to each
other, they are, again, you guessed it, "absolute".
In other words, forget the whole subject. I regret I brought it up in
the first place. Leave it for the PhQS (Philosophical Quantities Library).
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk