public void CalcularCoordenadasPorCadaAngulo(int Angulo) { List <double> CoordRotacion = B_Operaciones_Matricialesl.Operaciones.Rotacion(Coord[0], Coord[1], (Angulo * Math.PI) / 180); float[] CoordeRotadas = new float[] { (float)CoordRotacion[0], (float)CoordRotacion[1] }; Coordenadas_PorCadaAngulo.Add(new Tuple <float[], int>(CoordeRotadas, Angulo)); }
public void CalcularDeformacion(List <float> C, float ecu, int Angulo, float FY, float ES, float Ymax, Secciones.TipodeSeccion pseccion) { float[] CoordenadasAngulo = Coordenadas_PorCadaAngulo.Find(x => x.Item2 == Angulo).Item1; List <float> Fuerzas = new List <float>(); List <float> Deform = new List <float>(); List <float> Esfuerz = new List <float>(); List <float> Momento = new List <float>(); if (pseccion != Secciones.TipodeSeccion.Circle) { for (int i = 0; i < C.Count; i++) { float C_Original = Ymax - C[i]; float d = Ymax - CoordenadasAngulo[1]; float esi = ((C_Original - d) / C_Original) * ecu; float fs = ES * esi; if (Math.Abs(fs) > FY) { if (esi < 0) { fs = -FY; } else { fs = FY; } } float FS; float Mi; FS = fs * (float)As_Long; Mi = Math.Abs(FS) * Math.Abs(CoordenadasAngulo[1]); Fuerzas.Add(FS); Momento.Add(Mi); Esfuerz.Add(fs); Deform.Add(esi); } } else { for (int i = 0; i < C.Count; i++) { float Magnitud_Di, Magnitud_Ci; Magnitud_Ci = C[i] + Ymax; Magnitud_Di = CoordenadasAngulo[1] + Ymax; float esi = ((Magnitud_Ci - Magnitud_Di) / Magnitud_Ci) * ecu; float fs = ES * esi; if (Math.Abs(fs) > FY) { if (esi < 0) { fs = -FY; } else { fs = FY; } } float FS; float Mi; FS = fs * (float)As_Long; Mi = Math.Abs(FS) * Math.Abs(Ymax - Magnitud_Di); Fuerzas.Add(FS); Momento.Add(Mi); Esfuerz.Add(fs); Deform.Add(esi); } } Esfuerzos_PorCadaCPorCadaAngulo.Add(new Tuple <List <float>, int>(Esfuerz, Angulo)); Deformacion_PorCadaCPorCadaAngulo.Add(new Tuple <List <float>, int>(Deform, Angulo)); Fuerzas_PorCadaCPorCadaAngulo.Add(new Tuple <List <float>, int>(Fuerzas, Angulo)); Momento_PorCadaCPorCadaAngulo.Add(new Tuple <List <float>, int>(Momento, Angulo)); }