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".