Desiree,
Yes, I looked at it more after I'd sent that note and had missed the
change in the z coordinate.
>From the pictures you sent I don't really see why it would be a clipping
problem. Have you sent it into Sun as a bug? I had some geometry I
hand fashioned (QuadArrays) that blinked in and out as the view was
rotated - I never had time to debug it. One of the Sun engineers
mentioned, on this list a month ago or so, something about a parent
transform needing to be set once before something would show up, but in
my case it would come and go, not just gone initially. Sounds like the
same thing.
- John Wright
Starfire Research
Desiree Hilbring wrote:
>
> On Thu, 8 Mar 2001, John Wright wrote:
>
> > Desiree,
> >
> > Doesn't your right side fold back onto itself? (point 3 to 4 is the
> > reverse of 2 to 3) (I didn't look beyond your right side) Thus you
> > really didn't create boxes... which of course you don't see until you
> > rotate them.
>
> I checked it again, I think it is right. I change the PolgonAttributes
> Modus so that I can see only the lines. During rotation the boxes
> dissappear and reappear. So it is more likely to be a clipping problem,
> right?
>
> >
> > As an experiment, if you still suspect a problem with normals, perhaps
> > pump your data into a GeometryInfo object and then have it give you
> > normals.
>
> It tried that, the effect was the same.
>
> Thanks Desiree
> >
> > - John Wright
> > Starfire Research
> >
> > Desiree Hilbring wrote:
> > >
> > > o------------------------------------------------------------------------o
> > >
> > > On Thu, 8 Mar 2001, Yazel, David J. wrote:
> > >
> > > > I don't know enough of your app to understand what "looks wrong" to you.. In
> > > > the second screenshot there are empty bands in the middle of the box.. is
> > > > that what you are referring to?
> > >
> > > Yes, that is what I was referring to. The overall box is createt from
> > > several smaller boxes, each has its own color and some of them are
> > > sometimes missing, during rotation
> > >
> > > If that happened during a rotation I would
> > > > suspect the normals were wrong.
> > >
> > > May be they are, I will thinks about them. Thanks Desiree
> > >
> > > Thats how I calculate them now:
> > >
> > > Point3f[] coords = new Point3f[16];
> > >
> > > // Triangle Strip Array
> > > // front
> > > coords[0]=new Point3f(eastValue-w,heightValue+c,-northValue+l);
> > > coords[1]=new Point3f(eastValue-w,heightValue-c,-northValue+l);
> > > coords[2]=new Point3f(eastValue+w,heightValue+c,-northValue+l);
> > > coords[3]=new Point3f(eastValue+w,heightValue-c,-northValue+l);
> > > // right
> > > coords[4]=new Point3f(eastValue+w,heightValue+c,-northValue-l);
> > > coords[5]=new Point3f(eastValue+w,heightValue-c,-northValue-l);
> > > // back
> > > coords[6]=new Point3f(eastValue-w,heightValue+c,-northValue-l);
> > > coords[7]=new Point3f(eastValue-w,heightValue-c,-northValue-l);
> > >
> > > // top
> > > coords[8]=new Point3f(eastValue+w,heightValue+c,-northValue+l);
> > > coords[9]=new Point3f(eastValue+w,heightValue+c,-northValue-l);
> > > coords[10]=new Point3f(eastValue-w,heightValue+c,-northValue+l);
> > > coords[11]=new Point3f(eastValue-w,heightValue+c,-northValue-l);
> > > // left
> > > coords[12]=new Point3f(eastValue-w,heightValue-c,-northValue+l);
> > > coords[13]=new Point3f(eastValue-w,heightValue-c,-northValue-l);
> > > // down
> > > coords[14]=new Point3f(eastValue+w,heightValue-c,-northValue+l);
> > > coords[15]=new Point3f(eastValue+w,heightValue-c,-northValue-l);
> > >
> > > /*
> > > for(int j=0;j<coords.length;j++) {
> > > System.out.println("c "+j+" "+coords[j]);
> > > }
> > > */
> > >
> > > // direkter Fuellversuch
> > > // create normals
> > > //Vector3f[] normals = new Vector3f[24];
> > > //Vector3f[] normals = new Vector3f[36];
> > > Vector3f[] normals = new Vector3f[16];
> > > for(int n=0;n<normals.length;n=n+4) {
> > > Vector3f v1 = new Vector3f();
> > > Vector3f v2 = new Vector3f();
> > > v1.x = coords[n+3].x - coords[n].x;
> > > v2.x = coords[n+1].x - coords[n].x;
> > > v1.y = coords[n+3].y - coords[n].y;
> > > v2.y = coords[n+1].y - coords[n].y;
> > > v1.z = coords[n+3].z - coords[n].z;
> > > v2.z = coords[n+1].z - coords[n].z;
> > > Vector3f vcross = new Vector3f();
> > > vcross.cross(v2,v1);
> > > vcross.normalize();
> > > normals[n]=vcross;
> > > normals[n+1]=vcross;
> > > normals[n+2]=vcross;
> > > normals[n+3]=vcross;
> > > }
> > > /*
> > > for(int k=0;k<coords.length;k++) {
> > > System.out.println("n "+k+" "+normals[k]);
> > > }
> > > */
> > >
> > > int stripCounts[] = {8,8};
> > > TriangleStripArray tri = new
> > >
>TriangleStripArray(16,TriangleArray.COORDINATES|TriangleArray.NORMALS,stripCounts);
> > > tri.setCoordinates(0,coords);
> > > tri.setNormals(0,normals);
> > > tri.setCapability(Geometry.ALLOW_INTERSECT);
> > >
> > > ===========================================================================
> > > 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".
> >
>
> ===========================================================================
> 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".