So using the texture coordinates is a bit of an unorthodox approach.  I
would take the cross product of two face edges and normalize that.  Beyond
that, I am not sure why to are normalizing v1 twice (or even once, just skip
it).  Also, that call to new Vector3D() when initializing normVect is
wasted, since it gets overwritten on the next line.

Also, after a quick glance at svn it seems like the Face class had a normal
at some point that is just commented out.  Maybe try using that?

http://code.google.com/p/away3d/source/browse/trunk/fp10/Away3DLite/src/away3dlite/core/base/Face.as


On Sun, May 2, 2010 at 4:38 PM, Michael Iv <[email protected]> wrote:

> Hi Guys , I was looking for Normal Face Vector in Lite and found none . I
> tried to write my own . From my check It seems working ... But I would like
> to get a confirmation from Math
> experts here  .
> I used the tuvs to create 2 vectors on the Face plane, then did cross
> product . Was that right ?
>
> Here is the code:
> var face:Face=sp.faces[45];
>                 var v1:Vector3D=new Vector3D(face.t0,face.u0,face.v0);
>                 var v2:Vector3D=new Vector3D(face.t1,face.u1,face.v1);
>                 v1.normalize();
>                 v1.normalize();
>                 var normVect:Vector3D=new Vector3D();
>                 normVect=v1.crossProduct(v2);
>                normVect.normalize();
>
>
> Thanks.
>
>
> --
> Michael Ivanov ,Programmer
> Neurotech Solutions Ltd.
> Flex|Air |3D|Unity|
> www.neurotechresearch.com
> Tel:054-4962254
> [email protected]
> [email protected]
>
>

Reply via email to