Hi

  I waited that Java3D calculated for the user the vector of the normals.
Why is there the constant GeometryArray.NORMALS. When I do use this
constant.

  For exemple :
  TriangleArray tetra = new TriangleArray(12,GeometryArray.COORDINATES |
GeometryArray.COLOR_3 | GeometryArray.NORMALS);

  []s

  Haroldo



>From: ballard andrews <[EMAIL PROTECTED]>
>Reply-To: Discussion list for Java 3D API <[EMAIL PROTECTED]>
>To: [EMAIL PROTECTED]
>Subject: Re: [JAVA3D] GetNormals problem
>Date: Mon, 22 May 2000 20:05:50 -0400
>
>I don't see anywhere in your snippet that
>you have calculated the normals - could
>it be that you are expecting Java3D to do this?
>it doesn't - its not like eg., Inventor or Performer -
>you have to do it yourself i.e., [v1-v2]x[v2-v3]
>will give you the normal for a flat polygon, then
>you average adjoining facets by normalizing.
>
>
>-ba
>
>HAroldo Pereira wrote:
> >
> > Hi
> >
> >   I dont understand this solution below.??
> >
> >   I wait any answwer.
> >
> >   HAroldo
> >
> > >From: Mauro Fabozzi <[EMAIL PROTECTED]>
> > >Reply-To: Mauro Fabozzi <[EMAIL PROTECTED]>
> > >To: [EMAIL PROTECTED]
> > >Subject: Re: [JAVA3D] GetNormals problem
> > >Date: Mon, 22 May 2000 07:58:34 +0200
> > >
> > >----- Original Message -----
> > >From: <[EMAIL PROTECTED]>
> > >To: <[EMAIL PROTECTED]>
> > >Sent: Saturday, May 20, 2000 12:23 AM
> > >Subject: [JAVA3D] GetNormals problem
> > >
> > >
> > >Hi
> > >
> > >   How I get the Normal Vector of the tetrahedron create with
> > >TriangleArray.
> > >
> > >   My class tetrahedron is below:
> > >
> > >import javax.media.j3d.*;
> > >import javax.vecmath.*;
> > >
> > >class Tetrahedron extends Shape3D {
> > >
> > >   public Tetrahedron(float x, float y, float z, float s) {
> > >         super();
> > >         float xsizeMin = -s/2.0f + x;
> > >         float xsizeMax = s/2.0f + x;
> > >         float ysizeMin = -s/2.0f + y;
> > >         float ysizeMax = s/2.0f + y;
> > >         float zsizeMin = -s/2.0f + z;
> > >         float zsizeMax = s/2.0f + z;
> > >
> > >//      TriangleArray tetra = new TriangleArray(12,
> > >GeometryArray.COORDINATES);
> > >         TriangleArray tetra = new TriangleArray(12,
> > >GeometryArray.COORDINATES |
> > >GeometryArray.COLOR_3 | GeometryArray.NORMALS);
> > >
> > >     Point3f verts[] = new Point3f[4];
> > >     verts[0] = new Point3f(xsizeMax, ysizeMax, zsizeMax);
> > >     verts[1] = new Point3f(xsizeMax, ysizeMin, zsizeMin);
> > >     verts[2] = new Point3f(xsizeMin, ysizeMin, zsizeMax);
> > >     verts[3] = new Point3f(xsizeMin, ysizeMax, zsizeMin);
> > >
> > >     Point3f pnts[] = new Point3f[12];
> > >
> > >     pnts[0] = verts[2];
> > >     pnts[1] = verts[1];
> > >     pnts[2] = verts[0];
> > >
> > >     pnts[3] = verts[3];
> > >     pnts[4] = verts[2];
> > >     pnts[5] = verts[0];
> > >
> > >     pnts[6] = verts[1];
> > >     pnts[7] = verts[2];
> > >     pnts[8] = verts[3];
> > >
> > >     pnts[9] = verts[1];
> > >     pnts[10] = verts[3];
> > >     pnts[11] = verts[0];
> > >     tetra.setCoordinates(0, pnts);
> > >
> > >
> > >     //
> > >     Color3f colors[] = new Color3f[4];
> > >     colors[0] = new Color3f(0.0f, 1.0f, 0.0f);
> > >     colors[1] = new Color3f(0.0f, 0.0f, 1.0f);
> > >     colors[2] = new Color3f(1.0f, 1.0f, 0.0f);
> > >     colors[3] = new Color3f(1.0f, 0.0f, 0.0f);
> > >
> > >     Color3f clrs[] = new Color3f[12];
> > >     clrs[0] = colors[0];
> > >     clrs[1] = colors[0];
> > >     clrs[2] = colors[0];
> > >     clrs[3] = colors[1];
> > >     clrs[4] = colors[1];
> > >     clrs[5] = colors[1];
> > >     clrs[6] = colors[2];
> > >     clrs[7] = colors[2];
> > >     clrs[8] = colors[2];
> > >     clrs[9] = colors[3];
> > >     clrs[10] = colors[3];
> > >     clrs[11] = colors[3];
> > >     tetra.setColors(0, clrs);
> > >//
> > >
> > >     this.setGeometry(tetra);
> > >     this.setAppearance(new Appearance());
> > >   }
> > >}
> > >
> > >
> > >   I use the method getNormals:
> > >
> > >   ...
> > >         Geometry geo2 = shape2.getGeometry();
> > >         GeometryArray gArray2 = (GeometryArray) geo2;
> > >         gArray2.getNormals(0, normals);
> > >
> > >         for (int j=0; j<4; j++){
> > >             System.out.println("normal:" + j + " : (" + normals[j*3] +
>" ,
> > >"
> > >+ normals[j*3 + 1] + " , " + normals[j*3 + 2] + ")" );
> > >
> > >...
> > >
> > >   The problem is that it print (0.0, 0.0, 0.0);
> > >
> > >   Where is the error?
> > >
> > >   I wait the your e-mails.
> > >
> > >   Haroldo
> > >
> > >
> > >
> >
> >________________________________________________________________________
> > >Get Your Private, Free E-mail from MSN Hotmail at
>http://www.hotmail.com
> > >
> >
> >===========================================================================
> > >To unsubscribe, send email to [EMAIL PROTECTED] and include in the
>body
> > >of the message "signoff JAVA3D-INTEREST".  For general help, send email
>to
> > >[EMAIL PROTECTED] and include in the body of the message "help".
> > >
> >
> >===========================================================================
> > >To unsubscribe, send email to [EMAIL PROTECTED] and include in the
>body
> > >of the message "signoff JAVA3D-INTEREST".  For general help, send email
>to
> > >[EMAIL PROTECTED] and include in the body of the message "help".
> >
> > ________________________________________________________________________
> > Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com
> >
> >
>===========================================================================
> > To unsubscribe, send email to [EMAIL PROTECTED] and include in the
>body
> > of the message "signoff JAVA3D-INTEREST".  For general help, send email
>to
> > [EMAIL PROTECTED] and include in the body of the message "help".
>
>--
>Dr. A. Ballard Andrews
>Senior Research Scientist
>Schlumberger Doll Research
>Old Quarry Road Ridgefield, CT 06877
>tel: 203-431-5522 fax: 5521
>
>===========================================================================
>To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
>of the message "signoff JAVA3D-INTEREST".  For general help, send email to
>[EMAIL PROTECTED] and include in the body of the message "help".

________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to