POV-Ray : Newsgroups : povray.newusers : Mesh and polygons area Server Time
28 Jul 2024 22:28:42 EDT (-0400)
  Mesh and polygons area (Message 11 to 20 of 23)  
<<< Previous 10 Messages Goto Latest 10 Messages Next 3 Messages >>>
From: Francesco
Subject: Re: Mesh and polygons area
Date: 3 Nov 2007 03:15:00
Message: <web.472c2d15881ace7c73fa22050@news.povray.org>
Thanks a lot for the assistance to everybody.

> "Penelope20k" <pen### [at] caramailfr> wrote:
> >> the area of triangle is
> >> Area = abs(   (xB*yA - xA*yB)  + (xC*yB -x B*yC)+( xA*yC - xC*yA ) ) /2

> >>>> "Le Forgeron" <jgr### [at] freefr>
> > Mesh...are not in the same plane, share no common edges... )

Don't they share edges? Ok, they are not in the same plane but they share at
least one edge, or not?

>> That formula works (???) only in the plane of the triangle. A
>> triangle is always 2D.....
>> the previous formula of penelope2k seems a bit wrong about
>> the computation...

Calculating area triangle per triangle I can always suppose z=0 (translating and
rotating axis) as triangles are 2D. So I think the formula posted by Penelope20k
is good.


Francesco


Post a reply to this message

From: Francesco
Subject: Re: Mesh and polygons area
Date: 3 Nov 2007 04:25:00
Message: <web.472c3dfb881ace7c73fa22050@news.povray.org>
"Francesco" <nas### [at] gmailcom> wrote:
>
> Calculating area triangle per triangle I can always suppose z=0 (translating
> and rotating axis) as triangles are 2D. So I think the formula posted by >
> Penelope20k is good.
>

If I rotate axis the coordinates are different, so I am really confused : ))

May be I could also use Eron's formula, Area= sqrt (s(s-a)(s-b)(s-c)).


Post a reply to this message

From: Le Forgeron
Subject: Re: Mesh and polygons area
Date: 3 Nov 2007 05:27:20
Message: <472c4d08$1@news.povray.org>
Le 03.11.2007 10:23, Francesco nous fit lire :
> "Francesco" <nas### [at] gmailcom> wrote:
>> Calculating area triangle per triangle I can always suppose z=0 (translating
>> and rotating axis) as triangles are 2D. So I think the formula posted by >
>> Penelope20k is good.
>>
> 
> If I rotate axis the coordinates are different, so I am really confused : ))

Illumination is on its way... continue.

> 
> May be I could also use Eron's formula, Area= sqrt (s(s-a)(s-b)(s-c)).
> 
It's Heron... and why do you want to compute the length of the side,
when all you need from the 3 vertices are their coordinaates.
Heron's formula is fine when you only have the lengths.

Actually, from a mesh's triangle:

On one hand, two vectors differences, a cross product, three
squaring, a sum and a square root ending with a division.

On the other end, three vectors differences, nine squaring, three
sums, three square root, an intermediate variable (yet a sum and a
division), then three differences, a product of four element, and a
square root.

Of course, you can use Area = 1/4*sqrt( (a+b+c)(a+b-c)(b+c-a)(c+b-a) )
this will avoid the intermediate variable, but the costy part is
computing the length a, b and c anyway!

-- 
The superior man understands what is right;
the inferior man understands what will sell.
-- Confucius


Post a reply to this message

From: Le Forgeron
Subject: Re: Mesh and polygons area
Date: 3 Nov 2007 05:40:33
Message: <472c5021$1@news.povray.org>
Le 03.11.2007 11:27, Le Forgeron nous fit lire :
> Area = 1/4*sqrt( (a+b+c)(a+b-c)(b+c-a)(c+b-a) )
That's bogus...

Area = 1/4*sqrt((a+b+c)(a+b-c)(b+c-a)(c+a-b))
Of course!


-- 
The superior man understands what is right;
the inferior man understands what will sell.
-- Confucius


Post a reply to this message

From: Francesco
Subject: Re: Mesh and polygons area
Date: 3 Nov 2007 07:55:00
Message: <web.472c6f6f881ace7c73fa22050@news.povray.org>
Le Forgeron <jgr### [at] freefr> wrote:

> On one hand, two vectors differences, a cross product, three
> squaring, a sum and a square root ending with a division.
>
> On the other end, three vectors differences, nine squaring, three
> sums, three square root, an intermediate variable (yet a sum and a
> division), then three differences, a product of four element, and a
> square root.
>


You've been convincing :)


Post a reply to this message

From: Warp
Subject: Re: Mesh and polygons area
Date: 3 Nov 2007 10:01:17
Message: <472c8d3d@news.povray.org>
Francesco <nas### [at] gmailcom> wrote:
> > > Mesh...are not in the same plane, share no common edges... )

> Don't they share edges? Ok, they are not in the same plane but they share at
> least one edge, or not?

  You can create meshes with completely separate, non-touching triangles
which don't share anything.

-- 
                                                          - Warp


Post a reply to this message

From: alphaQuad
Subject: Re: Mesh and polygons area
Date: 3 Nov 2007 14:00:01
Message: <web.472cc459881ace7c9fd043000@news.povray.org>
"Francesco" <nas### [at] gmailcom> wrote:

> Calculating area triangle per triangle I can always suppose z=0 (translating and
> rotating axis) as triangles are 2D. So I think the formula posted by Penelope20k
> is good.
>
>
> Francesco

YES ! it is not only good but great. it is the shortest route from points to
area I have seen.

just I am not able to mentally make the leap to 3D without a lengthy conversion
to 3 side lengths. If I could, it might be the shortest route in 3D.


also note that 666... is common to all tetra and pyramid volumes?!?

  ; //e $tetrahedron_volume(383 156 0, 645 254 0, 465 289 0,400 200 200) =
893666.666667
  ; //e $pyramid_volume(276 308 0, 383 123 0, 666 324 0, 276 308 0, 400 300 200)
= 2462066.666667


I have finished the volume macros

#macro tetrahedron_volume(A,B,C,D)
  #local result = abs(vdot(D-A,vcross(D-B,D-C))) / 6
  result
#end
#macro pyramid_volume(A,B,C,D,E)
  // perimeter order for 1st 4 points
  #local result =
     tetrahedron_volume(A,B,C,E) + tetrahedron_volume(A,C,D,E);
  result
#end


Post a reply to this message

From: alphaQuad
Subject: Re: Mesh and polygons area
Date: 3 Nov 2007 14:40:01
Message: <web.472ccda8881ace7c9fd043000@news.povray.org>
"alphaQuad" <alp### [at] earthlinknet> wrote:

> also note that 666... is common to all tetra and pyramid volumes?!?

no, it was coincidental. or was it synchronicity that keeps getting me.


new users: dont forget the missing ; in that macro

still hope someone will make the leap from Pene's 2d to a short,
or shortEST 3D method


Post a reply to this message

From: alphaQuad
Subject: Re: Mesh and polygons area
Date: 4 Nov 2007 11:20:00
Message: <web.472deffc881ace7c5b922c2d0@news.povray.org>
"alphaQuad" <alp### [at] earthlinknet> wrote:
> "Francesco" <nas### [at] gmailcom> wrote:
>
> > Calculating area triangle per triangle I can always suppose z=0 (translating and
> > rotating axis) as triangles are 2D. So I think the formula posted by Penelope20k
> > is good.
> >
> >
> > Francesco
>
> YES ! it is not only good but great. it is the shortest route from points to
> area I have seen.
>
> just I am not able to mentally make the leap to 3D without a lengthy conversion
> to 3 side lengths. If I could, it might be the shortest route in 3D.


apparently I am in similiar company as no else can either.

the task:
Area = abs(   (xB*yA - xA*yB)  + (xC*yB -x B*yC)+( xA*yC - xC*yA ) ) /2

make shortest 3D version


Post a reply to this message

From: Le Forgeron
Subject: Re: Mesh and polygons area
Date: 5 Nov 2007 12:46:44
Message: <472f5704@news.povray.org>
Le 04.11.2007 17:16, alphaQuad nous fit lire :

> apparently I am in similiar company as no else can either.
> 

Stop whining... it won't help to get any result.

> the task:
> Area = abs(   (xB*yA - xA*yB)  + (xC*yB -x B*yC)+( xA*yC - xC*yA ) ) /2

This formula looks bogus.

We already know that

Area = || AB x AC ||
           -------------
                   2

Let's make a numerical application with A(0,-1) B(1,0) and C(0,1)

 abs ( (-1 - 0) + (0 - 1) + ( 0 +1 ) ) /2 ---> abs ( -1 ) /2 --> 1/2
(wrong)

AB: <1,1,0>
AC: <0,2,0>

AB x AC: <0,0,-2>

Area = length(AB x AC)/2 = 1. (good!)

> 
> make shortest 3D version

The crossproduct is fine, what do you need ?

-- 
The superior man understands what is right;
the inferior man understands what will sell.
-- Confucius


Post a reply to this message

<<< Previous 10 Messages Goto Latest 10 Messages Next 3 Messages >>>

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.