Changing values?

I rewrote your Sketch a bit

I think one issue was that you had float px1 = sin(angle/np)*r; here.
I think this should be float px1 = cos(angle)*r; (without “/np”)

I also set angle to 0 in draw()

Chrisir


// TUBULAR FORM USING REFORMED ARRAYS ****** NIGEL S WOOLARD

final int r = 100;
final int r2 = 200;

final int np = 90;

final int cl = 100;
float angle=0; // radians(360/np);
final float anglestep = radians(360/np); // ALSO TRIED WITH PI VALUES

float[]PX1 = new float[np];
float[]PY1 = new float[np];
float[]PZ1 = new float[np];

float[]PX2 = new float[np];
float[]PY2 = new float[np];
float[]PZ2 = new float[np];

void setup() {
  size(600, 600, P3D);
}

void draw() {
  BACKGROUND();

  angle=0; 
  CREATETUBE();
  DRAWTUBE();
}

//--------------------------------------------------------------

void CREATETUBE() {
  for (int i=0; i<np; i++) {

    PX1[i] = cos(angle)*r;
    PY1[i] = sin(angle)*r;
    PZ1[i] = 0;

    PX2[i] = cos(angle)*r2;
    PY2[i] = sin(angle)*r2;
    PZ2[i] = cl;

    angle += anglestep;
  }
}

//****************************************************************************

void DRAWTUBE() {
  translate(300, 300, 0);
  beginShape();
  for (int i=0; i<np; i++) {
    stroke(#FF0000);
    vertex (PX1[i], PY1[i], PZ1[i]);
    stroke(#FFEA00);
    vertex (PX2[i], PY2[i], PZ2[i]);
  }
  endShape();
}

//*****************************************************************************

void BACKGROUND() {
  fill(#FF8000);
}
//