POV-Ray : Newsgroups : povray.advanced-users : should be normal weighted ? Server Time
30 Jul 2024 04:19:01 EDT (-0400)
  should be normal weighted ? (Message 4 to 13 of 23)  
<<< Previous 3 Messages Goto Latest 10 Messages Next 10 Messages >>>
From: Ron Parker
Subject: Re: should be normal weighted ?
Date: 4 Dec 2000 13:38:39
Message: <slrn92np5i.mrd.ron.parker@fwi.com>
On Mon, 04 Dec 2000 10:20:43 -0800, Josh English wrote:
>Using Warps read me file for his mesh smoother, I find that normalizing
>the normal vectors of each triangle, then averaging them, works the
>best. Of course, if you are using the vcross command to find your
>normals, remember that the length of the resultant vector has a length
>of the dot product, which will be at it's maximum when the vectors are
>orthogonal (ie, 90 degrees apart).

It's not the same as the dot product.  The length of the cross product
vector is A*B*sin(t) and the dot product is A*B*cos(t).

-- 
Ron Parker   http://www2.fwi.com/~parkerr/traces.html
My opinions.  Mine.  Not anyone else's.


Post a reply to this message

From: Josh English
Subject: Re: should be normal weighted ?
Date: 4 Dec 2000 15:01:57
Message: <3A2BF82F.BC751AD@spiritone.com>
I thought that I read in the docs that the length was the dot product, but
in fact they say "The resulting vector is perpendicular to the two original
vectors and its length is proportional to the angle between them." In my
experiments, that distance did seem to be at its largest when the vectors
were orthogonal.

Thanks for the clarification.

Josh

Ron Parker wrote:

> On Mon, 04 Dec 2000 10:20:43 -0800, Josh English wrote:
> >Using Warps read me file for his mesh smoother, I find that normalizing
> >the normal vectors of each triangle, then averaging them, works the
> >best. Of course, if you are using the vcross command to find your
> >normals, remember that the length of the resultant vector has a length
> >of the dot product, which will be at it's maximum when the vectors are
> >orthogonal (ie, 90 degrees apart).
>
> It's not the same as the dot product.  The length of the cross product
> vector is A*B*sin(t) and the dot product is A*B*cos(t).
>
> --
> Ron Parker   http://www2.fwi.com/~parkerr/traces.html
> My opinions.  Mine.  Not anyone else's.

--
Josh English -- Lexiphanic Lethomaniac
eng### [at] spiritonecom
The POV-Ray Cyclopedia http://www.spiritone.com/~english/cyclopedia/


Post a reply to this message

From: Ron Parker
Subject: Re: should be normal weighted ?
Date: 4 Dec 2000 15:40:25
Message: <slrn92o09s.ms8.ron.parker@fwi.com>
On Mon, 04 Dec 2000 12:01:51 -0800, Josh English wrote:
>I thought that I read in the docs that the length was the dot product, but
>in fact they say "The resulting vector is perpendicular to the two original
>vectors and its length is proportional to the angle between them." In my
>experiments, that distance did seem to be at its largest when the vectors
>were orthogonal.

Proportional to the sine of the angle between them.  Remind me to check the
docs when I get home.  Sine has a maximum at 90 degrees, so your experiments
were correct.

-- 
Ron Parker   http://www2.fwi.com/~parkerr/traces.html
My opinions.  Mine.  Not anyone else's.


Post a reply to this message

From: Ken
Subject: Re: should be normal weighted ?
Date: 4 Dec 2000 15:51:49
Message: <3A2C04A9.5129AD6D@pacbell.net>
Ron Parker wrote:

> Remind me to check the docs when I get home.

Ron,

Check the docs when you get home.

-- 
Ken Tyler


Post a reply to this message

From: Wlodzimierz ABX Skiba
Subject: Re: should be normal weighted ?
Date: 5 Dec 2000 04:19:29
Message: <3a2cb321@news.povray.org>
Josh English wrote in message <3A2BE07B.9EE186F8@spiritone.com>...
> Using Warps read me file for his mesh smoother, I find that
normalizing
> the normal vectors of each triangle, then averaging them, works the
> best. Of course, if you are using the vcross command to find your
> normals, remember that the length of the resultant vector has a length
> of the dot product, which will be at it's maximum when the vectors are
> orthogonal (ie, 90 degrees apart).


thanks. little more about my problem
I play with specialized patch for non-linear deforms
I have builded mechanizm to implement different types of deformations
geometry is supported ok but problem is with normals
first I thought just simple - (un)deform IPoint and IPoint+INormal
and calculate new normal
but this isn't correct -
therefore I discover such method:
find INormal and IPoint
find N points around of IPoint (with very small distance)
points are on flat plane perpendicular to normal
(un)deform points
now they are not on plane
calculate new normal

this mean that my virtual smooth triangles are very small
I leave simple averaging normals
real problem will be with inherited nonlinear transformed textures....

ABX


Post a reply to this message

From: Ron Parker
Subject: Re: should be normal weighted ?
Date: 5 Dec 2000 05:52:46
Message: <3a2cc8fe$1@news.povray.org>
On 4 Dec 2000 15:40:25 -0500, Ron Parker wrote:
>On Mon, 04 Dec 2000 12:01:51 -0800, Josh English wrote:
>>I thought that I read in the docs that the length was the dot product, but
>>in fact they say "The resulting vector is perpendicular to the two original
>>vectors and its length is proportional to the angle between them." In my
>>experiments, that distance did seem to be at its largest when the vectors
>>were orthogonal.
>
>Proportional to the sine of the angle between them.  Remind me to check the
>docs when I get home.  Sine has a maximum at 90 degrees, so your experiments
>were correct.

Hm... it certainly does say "proportional to the angle".  That's a doc bug.

-- 
Ron Parker   http://www2.fwi.com/~parkerr/traces.html
My opinions.  Mine.  Not anyone else's.


Post a reply to this message

From: Warp
Subject: Re: should be normal weighted ?
Date: 5 Dec 2000 06:18:37
Message: <3a2ccf0d@news.povray.org>
Josh English <eng### [at] spiritonecom> wrote:
: Of course, if you are using the vcross command to find your
: normals, remember that the length of the resultant vector has a length
: of the dot product, which will be at it's maximum when the vectors are
: orthogonal (ie, 90 degrees apart).

  Actually, the length of the normal vector calculated using cross-product
of two vectors is (also) exactly the area of the parallelogram formed by the
two vectors.
  To get the area of the triangle formed by the two vectors, divide the
length of the cross-product by 2.

-- 
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):_;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/


Post a reply to this message

From: Josh English
Subject: Re: should be normal weighted ?
Date: 6 Dec 2000 12:09:28
Message: <3A2E72C7.E98DA9C8@spiritone.com>
I thought that the area of the parallelogram was equal to the dot product. I
seem to remember that we were able to find the area with some simple vector
calculation. Too bad my book is at home.

Josh

Warp wrote:

> Josh English <eng### [at] spiritonecom> wrote:
> : Of course, if you are using the vcross command to find your
> : normals, remember that the length of the resultant vector has a length
> : of the dot product, which will be at it's maximum when the vectors are
> : orthogonal (ie, 90 degrees apart).
>
>   Actually, the length of the normal vector calculated using cross-product
> of two vectors is (also) exactly the area of the parallelogram formed by the
> two vectors.
>   To get the area of the triangle formed by the two vectors, divide the
> length of the cross-product by 2.
>
> --
> main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
> ):_;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/

--
Josh English -- Lexiphanic Lethomaniac
eng### [at] spiritonecom
The POV-Ray Cyclopedia http://www.spiritone.com/~english/cyclopedia/


Post a reply to this message

From: Warp
Subject: Re: should be normal weighted ?
Date: 6 Dec 2000 12:37:40
Message: <3a2e7964@news.povray.org>
Josh English <eng### [at] spiritonecom> wrote:
: I thought that the area of the parallelogram was equal to the dot product.

  Nope.
  For example, the area of the parallelogram formed by the vectors
<1,0,0> and <2,0,0> is 0, but the dot-product of the vectors is 2.

-- 
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):_;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/


Post a reply to this message

From: Josh English
Subject: Re: should be normal weighted ?
Date: 6 Dec 2000 12:39:22
Message: <3A2E79CA.FED51176@spiritone.com>
I'm pretty sure I read something about this in Calc 3... I'll have to check
tonight when I get home.

Josh

Warp wrote:

> Josh English <eng### [at] spiritonecom> wrote:
> : I thought that the area of the parallelogram was equal to the dot product.
>
>   Nope.
>   For example, the area of the parallelogram formed by the vectors
> <1,0,0> and <2,0,0> is 0, but the dot-product of the vectors is 2.
>
> --
> main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
> ):_;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/

--
Josh English -- Lexiphanic Lethomaniac
eng### [at] spiritonecom
The POV-Ray Cyclopedia http://www.spiritone.com/~english/cyclopedia/


Post a reply to this message

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

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