public static double fluenciaIndiceLaminaPC(int indice, int lamina, PuntoDeControl pC, double tamMatriz, int numPuntos, double factorTransmision) { if (estaLibrePC(indice, lamina, pC, tamMatriz, numPuntos)) { return(1); } else { return(factorTransmision); } }
public static PuntoDeControl pCIntermedio(PuntoDeControl pC1, PuntoDeControl pC2, int indice, int totalPCagregados) { PuntoDeControl pC = new PuntoDeControl(); { pC.posicionesA = new double[60]; pC.posicionesB = new double[60]; } for (int i = 0; i < 60; i++) { pC.posicionesA[i] = pC1.posicionesA[i] + (pC2.posicionesA[i] - pC1.posicionesA[i]) * indice / totalPCagregados; pC.posicionesB[i] = pC1.posicionesB[i] + (pC2.posicionesB[i] - pC1.posicionesB[i]) * indice / totalPCagregados; } return(pC); }
public static PuntoDeControl extraerPuntoDeControl(string[] fid, int indice) { int inicio = buscarSubStringEnFid(fid, "Field =", indice); PuntoDeControl pC = new PuntoDeControl() { nombre = extraerString(fid, inicio), posicionesA = new double[60], posicionesB = new double[60], }; for (int i = 0; i < 60; i++) { pC.posicionesA[i] = extraerDouble(fid, inicio + i + 5); pC.posicionesB[i] = extraerDouble(fid, inicio + i + 65); } return(pC); }
public static bool estaLibrePC(int indice, int lamina, PuntoDeControl pC, double tamMatriz, int numPuntos) { return(posicionIndice(indice, tamMatriz, numPuntos) > -pC.posicionesB[lamina] && posicionIndice(indice, tamMatriz, numPuntos) < pC.posicionesA[lamina]); }