Returns the positive |
real value of smallest magnitude
\epsilon that should be used as a coordinate value in a
A coordinate of a
Point may also contain
The value \epsilon is used for testing the equality of
(see Point Reference; Operators):
Let \epsilon be the value returned by
P and Q be
Points, and P_x, Q_x, P_y, Q_y,
P_z, and Q_z the updated x, y, and z-coordinates of P and Q,
If and only if
||P_x| - |Q_x|| < \epsilon, ||P_y| - |Q_y|| < \epsilon,
||P_z| - |Q_z|| < \epsilon, then
P = Q.
epsilon() returns different values, depending on whether
float (the default),
double, it returns 0.000000001.
Please note: I haven't tested whether 0.000000001 is a good
value yet, so users should be aware of this if they set
The way to test this is to start with two
P and Q at different locations.
Then they should be transformed using different rotations in such a way
that they should end up at the same location.
Let \epsilon stand for the value returned by
and let x, y, and y stand for
world_coordinates of the
apply_transform() has been called on them.
If x_P = x_Q, y_P = y_Q, and
z_P = z_Q,
\epsilon is a good value.
Rotation causes a significant loss of precision to due to the use of the
cos() functions. Therefore, neither
(see Tranform Reference; Returning Information)
can be as small as I'd like them to be. If they are two
small, operations that test for equality of
Points will return
false for objects that should be