package graphics; class Tube extends Shape { Tube() { super(14, 2); } Tube(int newM, int newN) { super(newM, newN); } //convert u/v pair to xyz point protected double[] calculatePoint(double u, double v) { //point-normal pair double[] vertex = {0,0,0, 0,0,0}; double theta = 2 * Math.PI * u; vertex[0] = Math.cos(theta); //x vertex[1] = Math.sin(theta); //y vertex[2] = v; //z vertex[3] = Math.cos(theta); //nx vertex[4] = Math.sin(theta); //ny vertex[5] = 0; //nz return vertex; } //gotta overwrite this b/c of casting issues :-/ public Object clone() { Tube newTube = new Tube(M, N); for (int i=0; i