[vtkusers] TriangleArea() return the not correct value.
Masato Asou
asou at soum.co.jp
Wed Sep 3 23:02:45 EDT 2014
From: David Cole <dlrdave at aol.com>
Date: Wed, 3 Sep 2014 08:43:31 -0400
>> Error of up to 0.0000000000000001 is acceptable in my program.
> You have to be really careful with your code if you want/need to keep
> all your error levels close to DBL_EPSILON.
Thank you for your advice.
It has not been able to correctly represent the intent of my previous
email.
The following is a quotation from first email.
From: Masato Asou <asou at soum.co.jp>
Date: Fri, 29 Aug 2014 11:41:15 +0900 (JST)
> $ ./a.out
> TriangleArea(A, B, C): 0.00000000526835606386
Above is not acceptable error.
Below is acceptable error.
> TriangleArea(B, C, A): 0.00000000000000009839
Heron's formula and cross product are acceptable.
> CrossProduct(A, B, C): 0.00000000000000011168
> CrossProduct(B, C, A): 0.00000000000000012055
> HeronsFormula(A, B, C): 0.00000000000000011252
> HeronsFormula(B, C, A): 0.00000000000000011252
> RectangularTriangle: 0.00000000000000017012
Error due to the order of the vertex is lage calculation result of
vtkTriangle::TriangleArea(). Error due to the order of the vertex is
small heron's formula and cross product.
From: David Gobbi <david.gobbi at gmail.com>
Date: Thu, 28 Aug 2014 21:19:08 -0600
> Note that there is a difference in efficiency, because Heron's formula
> requires applying sqrt() four times, while VTK's formula requires applying
> sqrt() only once.
Why vtkTriangle::TriangleArea() doesn't use cross product?
Also cross product requires applying sqrt() only once.
--
ASOU Masato
More information about the vtkusers
mailing list