// smoothing // Written by Jarek Rossignac August 2006 float M=10; // values range from 0 to M int N=30; // number of samples float V[] = new float[N]; // values at samples boolean C[] = new boolean[N]; // if constrained float V1[] = new float[N]; // values at samples float L1[] = new float[N]; // laplace adjustments float V2[] = new float[N]; // values at samples float L2[] = new float[N]; // laplace adjustments float P2[] = new float[N]; float V3[] = new float[N]; // values at samples float L3[] = new float[N]; // laplace adjustments float R3[] = new float[N]; float P3[] = new float[N]; float Q3[] = new float[N]; int n1=0, n2=0, n3=0; // Iteration counters float t=0, s=0; // Error measures for C3 boolean showP=false, showQ=false, showR=false, showL=false; char stp=' '; // why C1 stopped void setup() { size(800, 800, P3D); PFont font = loadFont("Courier-48.vlw"); textFont(font, 14); // font for writing labels on screen for (int i=0; i