public void updateTrace(int dx) { for (int i = 0; i < getNumFns(); i += 1) { traceLoc += dx; if (traceLoc > graph.getXMax()) traceLoc = (int) graph.getXMax(); else if (traceLoc < graph.getXMin()) traceLoc = (int) graph.getXMin(); } }
public void plotFns(float[][] fnPts, int nFns) { for (int i = 0; i < nFns; i += 1) { if (!graphCalcs[i].empty()) { /* Log.v ("plotFns",Float.toString(graph.getXMax())+" "+ Float.toString(graph.getYMax())+" "+Float.toString(graph.getXLeft ())+ " "+Float.toString(graph.getXRight ())+" "+ Float.toString(graph.getYBot ())+" "+Float.toString(graph.getYTop ())); */ graphCalcs[i].graphFn( fnPts[i], graph.getXLeft(), graph.getXRight(), graph.getYBot(), graph.getYTop(), graph.getXMin(), graph.getXMax(), graph.getYMin(), graph.getYMax(), graph.getXUnitLen()); /* for (int j=0;j<N_FN_PTS*4;j+=4) { Log.v ("plotFns", Float.toString(fnPts[i][j])+","+Float.toString(fnPts[i][j+1])+ " "+ Float.toString(fnPts[i][j+2])+","+Float.toString(fnPts[i][j+3])); } */ } else { clearArr(fnPts[i]); } } }
public void calcZeros(ArrayAdapter<String> zerosArr, int nFns) { int n; String title; for (int i = 0; i < nFns; i += 1) { if (!graphCalcs[i].empty()) { title = "Fn" + Integer.toString(i + 1) + "(x):"; n = graphCalcs[i].calcZeros( zeros[i], graph.getXLeft(), graph.getXRight(), graph.getYBot(), graph.getYTop(), graph.getXMin(), graph.getXMax(), graph.getYMin(), graph.getYMax(), graph.getXUnitLen()); // Log.v ("calcZeros",Integer.toString(n)); if (n == 0) title += " None"; zerosArr.add(title); // Convert x values of zeros to strings for (int k = 0; k < n; k += 1) { float num = zeros[i][k]; if ((num > -0.001 && num < 0) || (num < 0.001 && num > 0)) num = 0; String numStr = ComplexNumber.roundStr(num, 3); zerosArr.add(" x = " + numStr); } } } }
public int getYGraphPt(float val) { return (int) graph.getYMax() - graphCalcs[0].realToGraph( val, graph.getYBot(), graph.getYTop(), graph.getYMin(), graph.getYMax()); }
public void initTrace() { for (int i = 0; i < getNumFns(); i += 1) { traceLoc = (int) ((graph.getXMin() + graph.getXMax()) / 2); } }