# Changing values?

**URL:** <https://discourse.processing.org/t/changing-values/34530>\
**Category:** Coding Questions\
**Created:** [January 8, 2022, 7:19pm UTC](https://discourse.processing.org/t/changing-values/34530 "2022-01-08T19:19:49Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![NigelWoollard](https://avatars.discourse-cdn.com/v4/letter/n/34f0e0/32.png) [@NigelWoollard](https://discourse.processing.org/u/NigelWoollard)\
**Post date:** [January 8, 2022, 7:19pm UTC](https://discourse.processing.org/t/changing-values/34530/1 "2022-01-08T19:19:49Z")

</div>

Hi is anybody clever enough to explain to me why this program creates changing values , I realize that it resets the arrays with each draw loop , But why are they different ?

> please format code with \</\> button \* [homework policy](https://discourse.processing.org/faq/#homework) \* [asking questions](https://discourse.processing.org/t/2147)

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

int r = 100;  
int r2 = 200;

int np = 12;

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

floatPX1 = new float [np];  
floatPY1 = new float[np];  
floatPZ1 = new float[np];

floatPX2 = new float[np];  
floatPY2 = new float[np];  
floatPZ2 = new float[np];

void setup() {

size(600, 600, P3D);  
}

void draw() {

BACKGROUND();

CREATETUBE();

DRAWTUBE();

}

void CREATETUBE() {

noStroke();

beginShape(TRIANGLE\_STRIP);

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

```
float px1 = sin(angle/np)*r;

float py1 = cos(angle/np)*r;

float pz1 = 0;

PX1[i] = px1;
PY1[i] = py1;
PZ1[i] = pz1;

//vertex (px1, py1, pz1);

float px2 = px1;

float py2 = py1;

float pz2 = pz1;

px2 = sin(angle/np)*r2;

py2 = cos(angle/np)*r2;

pz2 = 0+cl;

PX2[i] = px2;
PY2[i] = py2;
PZ2[i] = pz2;

```

// vertex (px2, py2, pz2);

```
angle = angle + anglestep;

```

}

endShape();  
}

//\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

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);

}

---

<div class="post-metadata">

**Author:** ![Chrisir](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/chrisir/32/45_2.png) [@Chrisir](https://discourse.processing.org/u/Chrisir)\
**Post date:** [January 8, 2022, 7:34pm UTC](https://discourse.processing.org/t/changing-values/34530/2 "2022-01-08T19:34:17Z")

</div>

> [@NigelWoollard](#):
>
> `angle = angle + anglestep;`

in my opinion this might be it

---

<div class="post-metadata">

**Author:** ![Chrisir](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/chrisir/32/45_2.png) [@Chrisir](https://discourse.processing.org/u/Chrisir)\
**Post date:** [January 8, 2022, 7:54pm UTC](https://discourse.processing.org/t/changing-values/34530/3 "2022-01-08T19:54:20Z")

</div>

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

```auto

// 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);
}
//

```

---

<div class="post-metadata">

**Author:** ![NigelWoollard](https://avatars.discourse-cdn.com/v4/letter/n/34f0e0/32.png) [@NigelWoollard](https://discourse.processing.org/u/NigelWoollard)\
**Post date:** [January 8, 2022, 9:49pm UTC](https://discourse.processing.org/t/changing-values/34530/4 "2022-01-08T21:49:37Z")

</div>

Thanks Chris that’s great !
