|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"Warp" <war### [at] tagpovrayorg> wrote in message
news:3d0b6c80@news.povray.org...
> 1/0 is undefined. It has no value in the set of real numbers (or even the
> set if imaginary numbers for that matter). Everyone accepts that.
> vnormalize(<0,0,0>) is undefined in the exact same way. There's no
> unit-sized vector which would have the same direction as <0,0,0>, because
> <0,0,0> has no direction nor length.
I would like to point out something not usually thought of: What is 1/0? I
notice that as the denominator approaches zero, the result approaches
infinity. 1 dividen into millionths results in a million pieces. 1 divided
into bajillionths results in a bajillion pieces.
Just because our digital mathematics aren't up to the task doesn't mean the
result doesn't exist. The result of dividing 1 by 0 should be infinity.
So it is an implementation problem that steps a little outside the
"standard" programmer's box. To solve this, you would have to create a
symbol to represent infinity, perhaps a keyword. Then you would have to
create a set of mathematical rules for the use of infinity:
x + infinity = infinity
x * infinity = infinity
infinity * infinity = infinity2 (there are many densities of infinity)
As you can see, my humble naming convention fails the task already. Any
better ideas?
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"Warp" <war### [at] tagpovrayorg> wrote in message
news:3d0bb059@news.povray.org...
> Jonathan Wooldridge <jwo### [at] attbicom> wrote:
> > Just because our digital mathematics aren't up to the task doesn't mean
the
> > result doesn't exist. The result of dividing 1 by 0 should be infinity.
>
> Infinity does not belong to the set of real numbers, which is the set
> which is used in practice.
>
> Besides, the problem with vnormalize(<0,0,0>) is that it would make
> <0/0, 0/0, 0/0> and 0/0 is truely undefined (it's not infinity even if
> we include infinity in our numerical system).
>
> There's no point in adding support for infinity because infinity is not
> usable for anything (every operation which you can make with infinity
results
> in infinity, -infinity or undefined, none of which are usable in
practice).
>
That depends on what you use infinity for, doesn't it?
If x turns out to be +infinity, then we have a direction instead of a point.
And if milesPerHour turns out to be +infinity, doesn't it add a new
dimension? Acceleration perhaps?
It seems like a hard concept to get the mind around: That point at which a
measurement becomes a different kind of measurement.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Jonathan Wooldridge wrote:
> I would like to point out something not usually thought of: What is
> 1/0? I notice that as the denominator approaches zero, the result
> approaches infinity. 1 dividen into millionths results in a million
> pieces. 1 divided into bajillionths results in a bajillion pieces.
>
> The result of dividing 1 by 0 should be infinity.
Not correct.
Consider this:
1 / infinitesmall = infinity
1 / (-infinitesmall) = -infinity
But 0 is smaller than infinitesmall and it is neither positive nor
negative.
Thus:
1 / 0 = undefined
The above is based only on my logic, so anybody who have actually
studied this may correct me if I'm wrong.
> As you can see, my humble naming convention fails the
> task already. Any better ideas?
Acknowledging that this is not practically useful for POV-Ray and thus
irrelevant?
Rune
--
3D images and anims, include files, tutorials and more:
Rune's World: http://rsj.mobilixnet.dk (updated May 20)
POV-Ray Users: http://rsj.mobilixnet.dk/povrayusers/
POV-Ray Ring: http://webring.povray.co.uk
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Could you please take such discussion elsewhere, it really does not belong
in the beta test group.
Christoph
--
POV-Ray tutorials, IsoWood include,
TransSkin and more: http://www.tu-bs.de/~y0013390/
Last updated 14 Jun. 2002 _____./\/^>_*_<^\/\.______
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
> I would like to point out something not usually thought of: What is 1/0? I
> notice that as the denominator approaches zero, the result approaches
> infinity. 1 dividen into millionths results in a million pieces. 1 divided
> into bajillionths results in a bajillion pieces.
> Just because our digital mathematics aren't up to the task doesn't mean
the
> result doesn't exist. The result of dividing 1 by 0 should be infinity.
Since when does the fact that
limit(x->0 +) of 1/x = infinity
imply that
1/0 = infinity
? It doesn't. Limits at a point of a function have absolutely nothing to do
with the value of a function at that point.
Also note that if you're going from the left hand side (negative numbers),
it approaches *negative* infinity. So the limit of 1/x doesn't even exist at
x=0 unless you specify a direction.
anything divided by zero is undefined. Not just because computers can't
handle it, but because it's mathematically considered to be undefined.
- Slime
[ http://www.slimeland.com/ ]
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
> The result of dividing 1 by 0 should be infinity.
I don't agree: it could be -infinity too. I think a function for division by
zero that returns 2 solutions is pretty useless.
--
Apache
POV-Ray Cloth experiments: http://geitenkaas.dns2go.com/experiments/
Email: apa### [at] yahoocom
ICQ: 146690431
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
What about the square root function? It has two solutions, but only returns
one. The assumption is that only the positive solution is germane. There are
(of course) many pedestrian functions that return more than one solution.
A case can be made for setting division by zero to "infinite"- not a number,
but a state. Graph it and it is clear. But we assume that this is not what we
are after and return an error. In a similar manner, we assume that even powered
roots are positive unless there is some other indication involved.
Cheers!
Chip Shults
My robotics, space and CGI web page - http://home.cfl.rr.com/aichip
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
> What about the square root function? It has two solutions, but only
returns
> one.
The definition of the square root of a x is the *positive* number which
squared, gives you x. The fact that it's positive is part of the definition,
not just because we choose to ignore the negative.
- Slime
[ http://www.slimeland.com/ ]
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Slime <slm### [at] slimelandcom> wrote:
> The definition of the square root of a x is the *positive* number which
> squared, gives you x. The fact that it's positive is part of the definition,
> not just because we choose to ignore the negative.
That's the reason why the classical solution for the second order polynomial
--
#macro N(D)#if(D>99)cylinder{M()#local D=div(D,104);M().5,2pigment{rgb M()}}
N(D)#end#end#macro M()<mod(D,13)-6mod(div(D,13)8)-3,10>#end blob{
N(11117333955)N(4254934330)N(3900569407)N(7382340)N(3358)N(970)}// - Warp -
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Floaating point systems using IEEE convention
take care of the problem of infinity:
a special pattern of bits represent the infinity
a number greater than any other floating point value.
It has a sign too.
IEEE compliant floating point library / processor
observe the following rules
infty + x = infty
x / 0 -> infty
etc
and 1/(1+x) = 1 if x==infty
---------------------------
Every elementary programming lectures
talk about numeration, number representation and
the inifinite problem.
Daniel Frerejacque
------------------
dan### [at] acmorg
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |