
public class Zero extends Shape {
	final double inness = 0.75;
	public Zero(int N) {
		super(N*8,N*4,4);
		for(int i=0; i<N; ++i) {
			double a = Math.PI*2.*N/i;
			double outx = Math.cos(a), outy = Math.sin(a),
				inx = outx*inness, iny = outy*inness;
			Vector3D outfr = new Vector3D(outx,outy,-1), outba = new Vector3D(outx,outy,1),
				infr = new Vector3D(inx,iny,-1), inba = new Vector3D(inx,iny,1),
				frnorm = new Vector3D(0,0,-1), banorm = new Vector3D(0,0,1),
				outnorm = new Vector3D(outx,outy,0),innorm = new Vector3D(-outx,-outy,0);
			vertices_[i*8  ] = new PointyPoint(infr,frnorm);			
			vertices_[i*8+1] = new PointyPoint(outfr,frnorm);			
			vertices_[i*8+2] = new PointyPoint(outfr,outnorm);			
			vertices_[i*8+3] = new PointyPoint(outba,outnorm);			
			vertices_[i*8+4] = new PointyPoint(outba,banorm);			
			vertices_[i*8+5] = new PointyPoint(inba,banorm);			
			vertices_[i*8+6] = new PointyPoint(inba,innorm);			
			vertices_[i*8+7] = new PointyPoint(infr,innorm);			
		}
		for(int i=0; i<N; ++i) 
			for(int j=0; j<4; ++j) {
				faces_[i*4+j][0] = i*8+j*2;
				faces_[i*4+j][1] = i*8+j*2+1;
				int ii = (i+1)%N;
				faces_[i*4+j][2] = ii*8+j*2+1;
				faces_[i*4+j][2] = ii*8+j*2;
			}
	}
}
