Ted Dunning a écrit :
> This is a generally useful thing to have, but there are multiple definitions
> for how you apply the tolerance. You should file a JIRA and add a patch!
>
> Among the definitions that are commonly used, you will find:
>
> L1 norm: equals(a, b, tolerance) = sum(abs(ab)) < tolerance
> L2 norm: equals(a, b, tolerance) = sqrt(sum((ab)^2)) < tolerance
> Linfinity norm: equals(a, b, tolerance) = max(abs(ab)) < tolerance
>
> All are useful.
I'll guess for 3D vector the L2norm is the more useful as it is
invariant when physical orthonormal frames are changed.
I'll check in the variant you prefer.
Luc
>
> Which did you think you wanted?
>
> On Tue, Apr 28, 2009 at 6:23 AM, Gilles Sadowski <
> gilles@harfang.homelinux.org> wrote:
>
>> Could we have a
>>
>> boolean equals(Vector3D other,
>> double tolerance)
>>
>> method?
>> Or even
>>
>> static boolean equals(Vector3D v1,
>> Vector3D v2,
>> double tolerance)
>>
>> that would return true if the components are equal within the given
>> tolerance.
>>
>>
>> Best,
>> Gilles
>>
>> P.S. It seems that checking for exact equality (as the "equal(Object)"
>> method does) is not very useful: If the two vectors being compared
>> come from different computations, they will (most of the time) be
>> different although, at the precisionlevel, they should be considered
>> equal.
>>
>> 
>> To unsubscribe, email: devunsubscribe@commons.apache.org
>> For additional commands, email: devhelp@commons.apache.org
>>
>>
>
>

To unsubscribe, email: devunsubscribe@commons.apache.org
For additional commands, email: devhelp@commons.apache.org
