lineas influencia

33
UNIVERSIDAD NACIONAL DE HUANCAVELICA FACULTAD DE CIENCIAS DE INGENIERIA ESCUELA PROFESIONAL DE INGENIERIA CIVIL CODIGO EN PYTHON (V 3.4.3) from tkinter import * from math import * import tkinter.ttk as ttk from tkinter import messagebox #FUNCIONES BASICAS: def TRANS_M(M): T=[[0 for i in range(len(M))] for j in range(len(M[0]))] for i in range(len(M)): for j in range(len(M[0])): T[j][i]=M[i][j] return T def PRO_ESCALAR(M,E): for i in range(len(M)): for j in range(len(M[0])): M[i][j]=M[i][j]*E return M def SUM_MAT(M1,M2): for i in range(len(M1)): for j in range(len(M1[0])): M1[i][j]=M1[i][j]+M2[i][j] return M1 def MUL_MAT(M1,M2): M=[[0 for i in range(len(M2[0]))] for j in range(len(M1))] for i in range(len(M1)): for j in range(len(M2[0])): for k in range(len(M2)): M[i][j]=M[i][j]+M1[i][k]*M2[k][j] return M def COLMENOS(L,n): for i in range(len(L)): L[i].pop(n-1) return L def ELISTP(LISTA,P): S=0 for i in range (len(LISTA)): S=S+LISTA[i]**P return S def ELISTCP(LISTA,P): RESISTENCIA DE MATERIALES II

Upload: dennis-ventura-huaman

Post on 11-Jul-2016

116 views

Category:

Documents


11 download

DESCRIPTION

Programa Lineas de influencia en python, calcula ecuaciones de una viga hiperestatica continua para una carga puntual, CODIGO EN PYTHON y HP 50g

TRANSCRIPT

Page 1: LINEAS INFLUENCIA

UNIVERSIDAD NACIONAL DE HUANCAVELICAFACULTAD DE CIENCIAS DE INGENIERIA

ESCUELA PROFESIONAL DE INGENIERIA CIVIL

CODIGO EN PYTHON (V 3.4.3)from tkinter import *from math import *import tkinter.ttk as ttkfrom tkinter import messagebox#FUNCIONES BASICAS:def TRANS_M(M): T=[[0 for i in range(len(M))] for j in range(len(M[0]))] for i in range(len(M)): for j in range(len(M[0])): T[j][i]=M[i][j] return Tdef PRO_ESCALAR(M,E): for i in range(len(M)): for j in range(len(M[0])): M[i][j]=M[i][j]*E return Mdef SUM_MAT(M1,M2): for i in range(len(M1)): for j in range(len(M1[0])): M1[i][j]=M1[i][j]+M2[i][j] return M1def MUL_MAT(M1,M2): M=[[0 for i in range(len(M2[0]))] for j in range(len(M1))] for i in range(len(M1)): for j in range(len(M2[0])): for k in range(len(M2)): M[i][j]=M[i][j]+M1[i][k]*M2[k][j] return Mdef COLMENOS(L,n): for i in range(len(L)): L[i].pop(n-1) return Ldef ELISTP(LISTA,P): S=0 for i in range (len(LISTA)): S=S+LISTA[i]**P return Sdef ELISTCP(LISTA,P): S=0 for i in range (len(LISTA)): S=S+LISTA[i][0]**P return Sdef INV_MAT(M): I=[[1 if i==j else 0 for i in range(len(M))] for j in range(len(M))] for i in range(len(M)): pvt=M[i][i]

RESISTENCIA DE MATERIALES II

Page 2: LINEAS INFLUENCIA

UNIVERSIDAD NACIONAL DE HUANCAVELICAFACULTAD DE CIENCIAS DE INGENIERIA

ESCUELA PROFESIONAL DE INGENIERIA CIVIL

if pvt==0: pvt_c=i+1 pvt_f=M[pvt_c][i] while pvt_f==0: pvt_c=pvt_c+1 pvt_f=M[pvt_c][i] pvt=pvt_f fila_temp=M[pvt_c] M[pvt_c]=M[i] M[i]=fila_temp fila_temp=I[pvt_c] I[pvt_c]=I[i] I[i]=fila_temp for j in range(len(M)): if i!=j and M[j][i]!=0: F1=[pvt*k for k in I[j]] F2=[-M[j][i]*k for k in I[i]] I[j]=[F1[k]+F2[k] for k in range(len(F1))] F1=[pvt*k for k in M[j]] F2=[-M[j][i]*k for k in M[i]] M[j]=[F1[k]+F2[k] for k in range(len(F1))] return [[I[j][i]/M[j][j] for i in range(len(I))] for j in range(len(I))]def REG3G(L1,L2): MX=[[0 for i in range(4)] for j in range(4)] for i in range(4): for j in range(4): MX[i][j]=ELISTP(L1,j+i) CXY=[] for i in range(4): s=0 for j in range(4): s=s+L2[j][0]*L1[j]**i CXY.append([s]) INV=INV_MAT(MX) COE=MUL_MAT(INV,CXY) return [COE,str(round(COE[3][0],6))+"*X³ + "+str(round(COE[2][0],6))+"*X² + "+str(round(COE[1][0],6))+"*X + "+str(round(COE[0][0],4))]#FUNCIONESdef CORTANTEGRAF(): global TRAEN, DISEN, CORTANTE, TextoCort CORTANTE=Toplevel(MASTER) CORTANTE.title("FUERZA CORTANTE") CORTANTE.config(bg="#0070d6") CORTANTE.geometry("200x200+85+50") Cor=Label(CORTANTE,text="Ingrese Tramo:",bg="#0070d6",fg="white").place(x=0,y=10) TRAEN=Entry(CORTANTE,font=("Times New Roman",12),width=8) TRAEN.place(x=100,y=10)

RESISTENCIA DE MATERIALES II

Page 3: LINEAS INFLUENCIA

UNIVERSIDAD NACIONAL DE HUANCAVELICAFACULTAD DE CIENCIAS DE INGENIERIA

ESCUELA PROFESIONAL DE INGENIERIA CIVIL

Cor=Label(CORTANTE,text="Ingrese distancia desde el apoyo:",bg="#0070d6",fg="white").place(x=0,y=40) DISEN=Entry(CORTANTE,font=("Times New Roman",12),width=8) DISEN.place(x=100,y=60) BOTGRAFC=Button(CORTANTE,text="GRAFICAR!", font=("Times New Roman",12),width=15,command=Vxx).place(x=30,y=120) BOTECUC=Button(CORTANTE,text="ECUACIONES", font=("Times New Roman",12),width=15,command=ECUCORT).place(x=30,y=155) TextoCort=Text(CORTANTE, width=60, height=10,font=("TIMES NEW ROMAN",12),relief=RAISED,cursor="mouse") TextoCort.place(x=210,y=35) TextoCort.config(state=DISABLED)def ECUCORT(): T=eval(TRAEN.get()) if 0<T<n+2: EQE=[] for i in range(n+1): EQE.append(EQC[i][T-1][1]) TextoCort.config(state=NORMAL) TextoCort.insert(INSERT,"Vx :\n") for i in range(n+1): TextoCort.insert(INSERT,"TRAMO "+str(i+1)+"⇨"+EQE[i]+"\n") TextoCort.insert(INSERT,"-----------------------------------------------------\n") TextoCort.config(state=DISABLED) CORTANTE.geometry("700x200+85+50") else: messagebox.showerror("ERROR", "NO EXISTE EL PUNTO "+str(NM)) MOMENTOS.deiconify()def Vxx(): global T, D, L2, EQC T=eval(TRAEN.get()) D=eval(DISEN.get()) L2=[i*1 for i in L] L2.insert(T,L2[T-1]) print(L2) UNI=[[1 for i in range(T)]] for i in range(n-T+1): UNI[0].append(0) Vx1=[] for i in range(n): Vx2=[] for j in range(4): Vx2.append(MUL_MAT(UNI,R[i][j])[0]) Vx1.append(Vx2) for i in range(T):

RESISTENCIA DE MATERIALES II

Page 4: LINEAS INFLUENCIA

UNIVERSIDAD NACIONAL DE HUANCAVELICAFACULTAD DE CIENCIAS DE INGENIERIA

ESCUELA PROFESIONAL DE INGENIERIA CIVIL

for j in range(4): Vx1[i][j]=[Vx1[i][j][0]*1-1] Vx3=[] for i in range(4): Vx4=Vx1[T-1][i][0]*1 Vx3.append([Vx4]) for j in range(4): Vx3[j]=[Vx3[j][0]+1] Vx1.insert(T,Vx3) print("Vx",Vx1) EQC=[] X1=[] for i in range(n): X2=[] for j in range(4): X2.append(x[i][j]*1) X1.append(X2) X1.insert(T-1,X1[T-1]) for i in range(n+1): EQ1=[] for j in range(n+1): EQ1.append(REG3G(X1[i],Vx1[i])) EQC.append(EQ1) GRAFICARCOR()def GRAFICARCOR(): global TRAEN, DISEN, EQC if 0<T<n+1: EQ=[] EQE=[] for i in range(n+1): EQ.append(EQC[i][T-1][0]) EQE.append(EQC[i][T-1][1]) print("COEF ECU",EQ) Xmin=0 Xmax=L2 PX=1 IncX=[(Xmax[i]-Xmin)/(Xmax[i]*INCpx) for i in range(n)] Ymin=-0.5 Ymax=0.5 Grafico.delete("all") Grafico.create_line(50,200,1125,200,fill="white") Grafico.create_polygon(50,200,35,220,65,220,fill="white") Grafico.create_oval(35,250,65,280,outline="yellow") Grafico.create_text(50,265,text="1",font=("TIMES NEW ROMAN",15),fill="white") Grafico.create_line(50,285,50,305,fill="cyan") Grafico.create_line(50,295,1125,295,fill="cyan") s1=0 for i in range(n): Grafico.create_polygon(50+s1+L[i]*INCpx,200,

RESISTENCIA DE MATERIALES II

Page 5: LINEAS INFLUENCIA

UNIVERSIDAD NACIONAL DE HUANCAVELICAFACULTAD DE CIENCIAS DE INGENIERIA

ESCUELA PROFESIONAL DE INGENIERIA CIVIL

35+s1+L[i]*INCpx,220, 65+s1+L[i]*INCpx,220,fill="white") Grafico.create_oval(35+s1+L[i]*INCpx,250,65+s1+L[i]*INCpx,280,outline="yellow") Grafico.create_text(50+s1+L[i]*INCpx,265,text=str(i+2),font=("TIMES NEW ROMAN",15),fill="white") Grafico.create_line(50+s1+L[i]*INCpx,285,50+s1+L[i]*INCpx,305,fill="cyan") Grafico.create_text(50+s1+L[i]*INCpx/2,300,text=str(L[i])+"m",font=("TIMES NEW ROMAN",15),fill="cyan" ) s1=s1+L[i]*INCpx s=0 for i in range(T-1): XYlist=[] for j in range(0,int(L2[i]*INCpx+1),PX): X=Xmin+j*IncX[1] #Xlist.append(X) Y=EQ[i][3][0]*X**3+EQ[i][2][0]*X**2+EQ[i][1][0]*X+EQ[i][0][0] #Ylist.append(Y) Yj=125+(Y-Ymax)*150/(Ymin-Ymax) XYlist.append((j+50+s,Yj)) Grafico.create_polygon(XYlist,50+s,200,50+s+L2[i]*INCpx,200,fill="#da72f6",smooth=0,stipple="gray12") Grafico.create_line(XYlist,fill="#da72f6",smooth=1) s=s+L2[i]*INCpx XYlist=[] for j in range(0,int(D*INCpx+1),PX): X=Xmin+j*IncX[1] #Xlist.append(X) Y=EQ[T][3][0]*X**3+EQ[T-1][2][0]*X**2+EQ[T-1][1][0]*X+EQ[T-1][0][0] #Ylist.append(Y) Yj=125+(Y-Ymax)*150/(Ymin-Ymax) XYlist.append((j+50+s,Yj)) Grafico.create_polygon(50+s+D*INCpx,200,XYlist,fill="#da72f6",smooth=0,stipple="gray12") Grafico.create_line(XYlist,fill="#da72f6",smooth=1) s=s+D*INCpx for j in range(0,int((L2[T]-D)*INCpx+1),PX): X=D+j*IncX[1] #Xlist.append(X) Y=EQ[T][3][0]*X**3+EQ[T][2][0]*X**2+EQ[T][1][0]*X+EQ[T][0][0] #Ylist.append(Y)

RESISTENCIA DE MATERIALES II

Page 6: LINEAS INFLUENCIA

UNIVERSIDAD NACIONAL DE HUANCAVELICAFACULTAD DE CIENCIAS DE INGENIERIA

ESCUELA PROFESIONAL DE INGENIERIA CIVIL

Yj=125+(Y-Ymax)*150/(Ymin-Ymax) XYlist.append((j+50+s,Yj)) Grafico.create_polygon(50+s+(L[T-1]-D)*INCpx,200,XYlist,fill="#da72f6",smooth=0,stipple="gray12") Grafico.create_line(XYlist,fill="#da72f6",smooth=1) s=s+(L2[T-1]-D)*INCpx for i in range(n-T): XYlist=[] for j in range(0,int(L[T+i]*INCpx+1),PX): X=Xmin+j*IncX[1] #Xlist.append(X) Y=EQ[T+i+1][3][0]*X**3+EQ[T+i+1][2][0]*X**2+EQ[T+i+1][1][0]*X+EQ[T+i+1][0][0] #Ylist.append(Y) Yj=125+(Y-Ymax)*150/(Ymin-Ymax) XYlist.append((j+50+s,Yj)) Grafico.create_polygon(XYlist,50+s,200,50+s+L2[T+i+1]*INCpx,200,fill="#da72f6",smooth=0,stipple="gray12") Grafico.create_line(XYlist,fill="#da72f6",smooth=1) s=s+L2[T+i+1]*INCpx else: messagebox.showerror("ERROR", "NO EXISTE TRAMO "+str(T)) MOMENTOS.deiconify()def MOMENTOSGRAF(): global MOMEN, MOMENTOS, TextoMom MOMENTOS=Toplevel(MASTER) MOMENTOS.title("MOMENTOS") MOMENTOS.config(bg="#0070d6") MOMENTOS.geometry("200x200+85+50") MOM=Label(MOMENTOS,text="INGRESE NUMERO DE APOYO:",bg="#0070d6",fg="white").place(x=0,y=10) MOMEN=Entry(MOMENTOS,font=("Times New Roman",12),width=15) MOMEN.place(x=30,y=70) BOTGRAFM=Button(MOMENTOS,text="GRAFICAR!", font=("Times New Roman",12),width=15,command=GRAFICARMOMS).place(x=30,y=120) BOTECUM=Button(MOMENTOS,text="ECUACIONES", font=("Times New Roman",12),width=15,command=ECUMOMS).place(x=30,y=155) TextoMom=Text(MOMENTOS, width=60, height=10,font=("TIMES NEW ROMAN",12),relief=RAISED,cursor="mouse") TextoMom.place(x=210,y=35) TextoMom.config(state=DISABLED)def ECUMOMS(): NM=eval(MOMEN.get()) if 0<NM<n+2: EQE=[] for i in range(n): EQE.append(EQMs[i][NM-1][1]) TextoMom.config(state=NORMAL)

RESISTENCIA DE MATERIALES II

Page 7: LINEAS INFLUENCIA

UNIVERSIDAD NACIONAL DE HUANCAVELICAFACULTAD DE CIENCIAS DE INGENIERIA

ESCUELA PROFESIONAL DE INGENIERIA CIVIL

TextoMom.insert(INSERT,"REACCIÓN "+str(NM)+":\n") for i in range(n): TextoMom.insert(INSERT,"TRAMO "+str(i+1)+"⇨"+EQE[i]+"\n") TextoMom.insert(INSERT,"-----------------------------------------------------\n") TextoMom.config(state=DISABLED) MOMENTOS.geometry("700x200+85+50") else: messagebox.showerror("ERROR", "NO EXISTE EL PUNTO "+str(NM)) MOMENTOS.deiconify()def ECUREAC(): REACCIONES.geometry("700x200+85+50") NR=eval(REAEN.get()) EQE=[] for i in range(n): EQE.append(EQs[i][NR-1][1]) TextoReac.config(state=NORMAL) TextoReac.insert(INSERT,"REACCIÓN "+str(NR)+":\n") for i in range(n): TextoReac.insert(INSERT,"TRAMO "+str(i+1)+"⇨"+EQE[i]+"\n") TextoReac.insert(INSERT,"-----------------------------------------------------\n") TextoReac.config(state=DISABLED)def REACCIONESGRAF(): global REAEN, REACCIONES, TextoReac REACCIONES=Toplevel(MASTER) REACCIONES.title("REACCIONES") REACCIONES.config(bg="#0070d6") REACCIONES.geometry("200x200+85+50") REA=Label(REACCIONES,text="INGRESE NUMERO DE APOYO: ECUACIONES:",bg="#0070d6",fg="white").place(x=0,y=10) REAEN=Entry(REACCIONES,font=("Times New Roman",12),width=15) REAEN.place(x=30,y=70) BOTGRAF=Button(REACCIONES,text="GRAFICAR!", font=("Times New Roman",12),width=15,command=GRAFICARREAC).place(x=30,y=120) BOTECU=Button(REACCIONES,text="ECUACIONES", font=("Times New Roman",12),width=15,command=ECUREAC).place(x=30,y=155) TextoReac=Text(REACCIONES, width=60, height=10,relief=RAISED,cursor="mouse") TextoReac.place(x=210,y=35) TextoReac.config(state=DISABLED)def GRAFICARMOMS(): global MOMEN, EQE, NM NM=eval(MOMEN.get()) if 0<NM<n+2:

RESISTENCIA DE MATERIALES II

Page 8: LINEAS INFLUENCIA

UNIVERSIDAD NACIONAL DE HUANCAVELICAFACULTAD DE CIENCIAS DE INGENIERIA

ESCUELA PROFESIONAL DE INGENIERIA CIVIL

EQ=[] EQE=[] for i in range(n): EQ.append(EQMs[i][NM-1][0]) EQE.append(EQMs[i][NM-1][1]) Xmin=0 Xmax=L PX=1 IncX=[(Xmax[i]-Xmin)/(Xmax[i]*INCpx) for i in range(n)] Ymin=-0.3 Ymax=0.3 Grafico.delete("all") Grafico.create_line(50,200,1125,200,fill="white") Grafico.create_polygon(50,200,35,220,65,220,fill="white") Grafico.create_oval(35,250,65,280,outline="yellow") Grafico.create_text(50,265,text="1",font=("TIMES NEW ROMAN",15),fill="white") Grafico.create_line(50,285,50,305,fill="cyan") Grafico.create_line(50,295,1125,295,fill="cyan") s1=0 for i in range(n): Grafico.create_polygon(50+s1+L[i]*INCpx,200, 35+s1+L[i]*INCpx,220, 65+s1+L[i]*INCpx,220,fill="white") Grafico.create_oval(35+s1+L[i]*INCpx,250,65+s1+L[i]*INCpx,280,outline="yellow") Grafico.create_text(50+s1+L[i]*INCpx,265,text=str(i+2),font=("TIMES NEW ROMAN",15),fill="white") Grafico.create_line(50+s1+L[i]*INCpx,285,50+s1+L[i]*INCpx,305,fill="cyan") Grafico.create_text(50+s1+L[i]*INCpx/2,300,text=str(L[i])+"m",font=("TIMES NEW ROMAN",15),fill="cyan" ) s1=s1+L[i]*INCpx s=0 for i in range(n): XYlist=[] for j in range(0,int(L[i]*INCpx+1),PX): X=Xmin+j*IncX[1] #Xlist.append(X) Y=EQ[i][3][0]*X**3+EQ[i][2][0]*X**2+EQ[i][1][0]*X+EQ[i][0][0] #Ylist.append(Y) Yj=125+(Y-Ymax)*150/(Ymin-Ymax) XYlist.append((j+50+s,Yj))

RESISTENCIA DE MATERIALES II

Page 9: LINEAS INFLUENCIA

UNIVERSIDAD NACIONAL DE HUANCAVELICAFACULTAD DE CIENCIAS DE INGENIERIA

ESCUELA PROFESIONAL DE INGENIERIA CIVIL

Grafico.create_polygon(XYlist,50+s,200,50+s+L[i]*INCpx,200,fill="#da72f6",smooth=0,stipple="gray12") Grafico.create_line(XYlist,fill="#da72f6",smooth=1) s=s+L[i]*INCpx else: messagebox.showerror("ERROR", "NO EXISTE EL PUNTO "+str(NM)) MOMENTOS.deiconify()def GRAFICARREAC(): global NR, CONT NR=eval(REAEN.get()) if 0<NR<n+2: EQ=[] for i in range(n): EQ.append(EQs[i][NR-1][0]) Xmin=0 Xmax=L PX=1 IncX=[(Xmax[i]-Xmin)/(Xmax[i]*INCpx) for i in range(n)] Ymin=-0.5 Ymax=0.5 Grafico.delete("all") Grafico.create_line(50,200,1125,200,fill="white") Grafico.create_polygon(50,200,35,220,65,220,fill="white") Grafico.create_oval(35,250,65,280,outline="yellow") Grafico.create_text(50,265,text="1",font=("TIMES NEW ROMAN",15),fill="white") Grafico.create_line(50,285,50,305,fill="cyan") Grafico.create_line(50,295,1125,295,fill="cyan") s1=0 for i in range(n): Grafico.create_polygon(50+s1+L[i]*INCpx,200, 35+s1+L[i]*INCpx,220, 65+s1+L[i]*INCpx,220,fill="white") Grafico.create_oval(35+s1+L[i]*INCpx,250,65+s1+L[i]*INCpx,280,outline="yellow") Grafico.create_text(50+s1+L[i]*INCpx,265,text=str(i+2),font=("TIMES NEW ROMAN",15),fill="white") Grafico.create_line(50+s1+L[i]*INCpx,285,50+s1+L[i]*INCpx,305,fill="cyan") Grafico.create_text(50+s1+L[i]*INCpx/2,300,text=str(L[i])+"m",font=("TIMES NEW ROMAN",15),fill="cyan" ) s1=s1+L[i]*INCpx s=0 for i in range(n): XYlist=[]

RESISTENCIA DE MATERIALES II

Page 10: LINEAS INFLUENCIA

UNIVERSIDAD NACIONAL DE HUANCAVELICAFACULTAD DE CIENCIAS DE INGENIERIA

ESCUELA PROFESIONAL DE INGENIERIA CIVIL

for j in range(0,int(L[i]*INCpx+1),PX): X=Xmin+j*IncX[1] #Xlist.append(X) Y=EQ[i][3][0]*X**3+EQ[i][2][0]*X**2+EQ[i][1][0]*X+EQ[i][0][0] #Ylist.append(Y) Yj=125+(Y-Ymax)*150/(Ymin-Ymax) XYlist.append((j+50+s,Yj)) Grafico.create_polygon(50+s+L[i]*INCpx,200,50+s,200,XYlist,fill="#da72f6",smooth=0,stipple="gray12") Grafico.create_line(XYlist,fill="#da72f6",smooth=1) s=s+L[i]*INCpx else: messagebox.showerror("ERROR", "NO EXISTE EL PUNTO "+str(NR)) REACCIONES.deiconify()def ACEPTARA(): MASTER.deiconify() Autor.withdraw()def AUTOR(): Autor.deiconify() MASTER.withdraw()def CP(): global x, n, RP, INCpx,L,EQs,EQMs,R,Mx L=eval(LdisEN.get()) n=len(L) if n>1: LT=ELISTP(L,1) MVC=[[0 for i in range(n)] for j in range(n-1)] for i in range(n-1): MVC[i][i:i+2]=[L[i],2*(L[i]+L[i+1]),L[i+1]] MVC=COLMENOS(COLMENOS(MVC,1),n) x=[] for i in range(n): s=0 x1=[] for j in range(4): x1.append(s) s=s+L[i]/3 x.append(x1) R=[] M=[] Vx=[] Mx=[] MVC1=INV_MAT(MVC) for i in range(n-1): #i contador de tramos M1=[] CM=[[0] for k in range(n-1)] for j in range(2):

RESISTENCIA DE MATERIALES II

Page 11: LINEAS INFLUENCIA

UNIVERSIDAD NACIONAL DE HUANCAVELICAFACULTAD DE CIENCIAS DE INGENIERIA

ESCUELA PROFESIONAL DE INGENIERIA CIVIL

if i==0: CM[0][0]=x[i][j+1]*(L[i]-x[i][j+1])*(L[i]+x[i][j+1])/(L[i]) CM1=MUL_MAT(MVC1,CM) M1.append(CM1) elif i!=0 and i!=(n-1): CM[i-1][0]=x[i][j+1]*(L[i]-x[i][j+1])*(2*L[i]-x[i][j+1])/(L[i]) CM[i][0]=x[i][j+1]*(L[i]-x[i][j+1])*(L[i]+x[i][j+1])/(L[i]) CM1=MUL_MAT(MVC1,CM) M1.append(CM1) Mx.append(M1) M1=[] CM=[[0] for k in range(n-1)] for j in range(2): CM[n-2][0]=x[n-1][j+1]*(L[n-1]-x[n-1][j+1])*(2*L[n-1]-x[n-1][j+1])/(L[n-1]) CM1=MUL_MAT(MVC1,CM) M1.append(CM1) Mx.append(M1) for i in range(n): #CONTADOR DE TRAMOS for j in range(2): #CONTADOR DE PUNTOS Mx[i][j].append([0]) Mx[i][j].insert(0,[0]) for i in range(n): Zero=[[0] for i in range(n+1)] Mx[i].insert(0,Zero) Mx[i].append(Zero) CR=[] for i in range(n): #CONTADOR DE TRAMOS R2=[] for j in range(4):#CONTADOR DE PUNTOS R1=[] for k in range(n): R1.append([(Mx[i][j][k][0]-Mx[i][j][k+1][0])/L[k]]) R1.append([0]) R1.insert(0,[0]) R2.append(R1) CR.append(R2)

MCM=[] for i in range(n): #CONTADOR DE TRAMOS MCM1=[] for j in range(4): #CONTADOR DE PUNTOS MCM2=[[0] for i in range(n+1)] MCM2[i][0]=(1-x[i][j]/L[i]) MCM2[i+1][0]=x[i][j]/L[i] MCM1.append(MCM2)

RESISTENCIA DE MATERIALES II

Page 12: LINEAS INFLUENCIA

UNIVERSIDAD NACIONAL DE HUANCAVELICAFACULTAD DE CIENCIAS DE INGENIERIA

ESCUELA PROFESIONAL DE INGENIERIA CIVIL

MCM.append(MCM1)

for i in range(n): #contador de tramos Ra=[] for j in range(4):#contador de puntos Ra1=[] for k in range(n+1): Rc=CR[i][j][k+1][0]-CR[i][j][k][0]+MCM[i][j][k][0] Ra1.append([Rc]) Ra.append(Ra1) R.append(Ra) RP=[] MP=[] for i in range(n): RP.append(TRANS_M(R[i])) for i in range(n): MP.append(TRANS_M(Mx[i])) INCpx=1075/LT Grafico.delete("all") Grafico.create_line(50,200,1125,200,fill="white", width=2) Grafico.create_polygon(50,200,35,220,65,220,fill="white") Grafico.create_oval(35,250,65,280,outline="yellow") Grafico.create_text(50,265,text="1",font=("TIMES NEW ROMAN",15),fill="white") Grafico.create_line(50,285,50,305,fill="cyan") Grafico.create_line(50,295,1125,295,fill="cyan") s1=0 for i in range(n): Grafico.create_polygon(50+s1+L[i]*INCpx,200, 35+s1+L[i]*INCpx,220, 65+s1+L[i]*INCpx,220,fill="white") Grafico.create_oval(35+s1+L[i]*INCpx,250,65+s1+L[i]*INCpx,280,outline="yellow") Grafico.create_text(50+s1+L[i]*INCpx,265,text=str(i+2),font=("TIMES NEW ROMAN",15),fill="white") Grafico.create_line(50+s1+L[i]*INCpx,285,50+s1+L[i]*INCpx,305,fill="cyan") Grafico.create_text(50+s1+L[i]*INCpx/2,300,text=str(L[i])+"m",font=("TIMES NEW ROMAN",15),fill="cyan" ) s1=s1+L[i]*INCpx EQs=[] EQMs=[] print("x=",x) print("REACCIONES=",R) print("MOMENTOS=",Mx) for i in range(n):

RESISTENCIA DE MATERIALES II

Page 13: LINEAS INFLUENCIA

UNIVERSIDAD NACIONAL DE HUANCAVELICAFACULTAD DE CIENCIAS DE INGENIERIA

ESCUELA PROFESIONAL DE INGENIERIA CIVIL

EQ1=[] for j in range(n+1): EQ1.append(REG3G(x[i],RP[i][j])) EQs.append(EQ1) for i in range(n): EQ1=[] for j in range(n+1): EQ1.append(REG3G(x[i],MP[i][j])) EQMs.append(EQ1) else: messagebox.showerror("ERROR", "INGRESE NUMERO DE TRAMOS MAYORES A 2")

#VENTANAS #VENTANA MASTER:MASTER = Tk() #VENTANAS SECUNDARIAS:Autor=Toplevel(MASTER)DATOS=Toplevel(MASTER)RESULT=Toplevel(MASTER)DIBUJO=Toplevel(MASTER)UNID=Toplevel(MASTER)PRESIC=Toplevel(MASTER)VXMX=Toplevel(MASTER)#CONFIGURACIONES DE VENTANASMASTER.config(bg="#0070d6")MASTER.title(" LINEAS DE INFUENCIA")Autor.config(bg="#0070d6")Autor.title("AUTOR")RESULT.config(bg="#0070d6")RESULT.title("RESULTADOS")DIBUJO.config(bg="#0070d6")DIBUJO.title("CONFIGURACION DE DIBUJO")UNID.config(bg="#0070d6")UNID.title("UNIDADES")PRESIC.config(bg="#0070d6")PRESIC.title("PRESICION")VXMX.config(bg="#0070d6")VXMX.title("Fuerza Cort. Mom. Flector")DATOS.config(bg="#0070d6")DATOS.title("DATOS")#DATOS DE LA PANTALLAXM=int((MASTER.winfo_screenwidth()-1200)/2)YM=int((MASTER.winfo_screenheight()-762)/2)Xv=int((MASTER.winfo_screenwidth()-300)/2)Xv1=int((MASTER.winfo_screenwidth()-1030)/2)Yv=int((MASTER.winfo_screenheight()-300)/2)Yv1=int((MASTER.winfo_screenheight()-630)/2)#CONFIGURANDO TAMAÑO DE PANTALLA

RESISTENCIA DE MATERIALES II

Page 14: LINEAS INFLUENCIA

UNIVERSIDAD NACIONAL DE HUANCAVELICAFACULTAD DE CIENCIAS DE INGENIERIA

ESCUELA PROFESIONAL DE INGENIERIA CIVIL

MASTER.geometry("1200x680+"+str(XM)+"+"+str(YM))DATOS.geometry("500x500")Autor.geometry("100x100")RESULT.geometry("100x100")DIBUJO.geometry("100x100")UNID.geometry("100x100")PRESIC.geometry("100x100")VXMX.geometry("100x100")MASTER.resizable(0,0)Autor.resizable(0,0)Autor.protocol("WM_DELETE_WINDOW","onexit")Autor.geometry("300x300+"+str(Xv)+"+"+str(Yv))#VENTANA MASTER:#MENUS:menubar = Menu(MASTER)Filemenu = Menu(menubar, tearoff=0)Filemenu.add_command(label="Salir", command=MASTER.destroy)menubar.add_cascade(label="Archivo", menu=Filemenu)Ayuda = Menu(menubar, tearoff=0)Ayuda.add_command(label="Acerca de...", command=AUTOR)menubar.add_cascade(label="Ayuda",menu=Ayuda,underline=1)MASTER.config(menu=menubar)#TITULOS Y DATOS EN AUTOR:Datoslbl2=Label(Autor, text="LINEAS DE INFLUENCIA", font=("TIMES NEW ROMAN",19),bg="#0070d6",fg="white").place(x=8,y=5)Datoslbl=Label(Autor, text="R E S I S T E N C I A D E M A T E R I A L E S I I\n\n\n\n\n\nP o r : D e n n i s V e n t u r a H u a m a n\n\n\n\n\nCel: 948148655\nCorreo: [email protected]\n INGENIERIA CIVIL\nUNIVERSIDAD NACIONAL DE HUANCAVELICA", bg="#0070d6", fg="white").place(x=20, y=50)SalirAut=Button(Autor,text="ACEPTAR➯", font=("ARIAL",14), command=ACEPTARA).place(x=100,y=170)#WIDGETS EN MASTER:Ldis=Label(MASTER, text="Ingrese Longitud de tramos[L1,L2,...Ln]:", font=("Times New Roman",12),bg="#0070d6", fg="white").place(x=10,y=50)LdisEN=Entry(MASTER,font=("Times New Roman",12),width=35)LdisEN.place(x=10,y=80)LdisEN.insert(0,[])#BOTONES:TITLE=Label(MASTER, text="LINEAS DE INFLUENCIA",font=("Times New Roman",40),bg="#0070d6", fg="white").place(x=450,y=40)Calc=Button(MASTER, text="SIMULAR",font=("Times New Roman",20),width=10, command=CP).place(x=500,y=150)REA=Button(MASTER, text="REACCIONES",font=("Times New Roman",15), command=REACCIONESGRAF).place(x=200,y=630)MOM=Button(MASTER, text="MOMENTOS",font=("Times New Roman",15), command=MOMENTOSGRAF).place(x=500,y=630)

RESISTENCIA DE MATERIALES II

Page 15: LINEAS INFLUENCIA

UNIVERSIDAD NACIONAL DE HUANCAVELICAFACULTAD DE CIENCIAS DE INGENIERIA

ESCUELA PROFESIONAL DE INGENIERIA CIVIL

CORT=Button(MASTER, text="F. CORTANTE",font=("Times New Roman",15), command=CORTANTEGRAF).place(x=800,y=630)#CREANDO ESPACIO DE GRAFICO:Grafico=Canvas(MASTER,bg="black",width=1175,height=400)Grafico.place(x=10,y=230)#ESCONDIENDO VENTANASMASTER.withdraw()RESULT.withdraw()DIBUJO.withdraw()UNID.withdraw()PRESIC.withdraw()VXMX.withdraw()DATOS.withdraw()#CONGELANDO MASTERMASTER.mainloop

CODIGO EN HP (RPL)

RESISTENCIA DE MATERIALES II

Page 16: LINEAS INFLUENCIA

UNIVERSIDAD NACIONAL DE HUANCAVELICAFACULTAD DE CIENCIAS DE INGENIERIA

ESCUELA PROFESIONAL DE INGENIERIA CIVIL

RESISTENCIA DE MATERIALES II

Page 17: LINEAS INFLUENCIA

UNIVERSIDAD NACIONAL DE HUANCAVELICAFACULTAD DE CIENCIAS DE INGENIERIA

ESCUELA PROFESIONAL DE INGENIERIA CIVIL

RESISTENCIA DE MATERIALES II

Page 18: LINEAS INFLUENCIA

UNIVERSIDAD NACIONAL DE HUANCAVELICAFACULTAD DE CIENCIAS DE INGENIERIA

ESCUELA PROFESIONAL DE INGENIERIA CIVIL

RESISTENCIA DE MATERIALES II

Page 19: LINEAS INFLUENCIA

UNIVERSIDAD NACIONAL DE HUANCAVELICAFACULTAD DE CIENCIAS DE INGENIERIA

ESCUELA PROFESIONAL DE INGENIERIA CIVIL

EJEMPLOS

RESISTENCIA DE MATERIALES II

Page 20: LINEAS INFLUENCIA

UNIVERSIDAD NACIONAL DE HUANCAVELICAFACULTAD DE CIENCIAS DE INGENIERIA

ESCUELA PROFESIONAL DE INGENIERIA CIVIL

ANALIZAR LA SIGUIENTE VIGA:

1

x

4m 6m 8m 5m

SOLUCION CON EL PROGRAMA HECHO EN PYTHON:

1. PRESENTACION DEL SOFTWARE:

2. Ingrese la lista de Longitudes de tramos de la viga y hacer clic en SIMULAR:

RESISTENCIA DE MATERIALES II

Page 21: LINEAS INFLUENCIA

UNIVERSIDAD NACIONAL DE HUANCAVELICAFACULTAD DE CIENCIAS DE INGENIERIA

ESCUELA PROFESIONAL DE INGENIERIA CIVIL

3. Te grafica la viga, con sus respectivas acotaciones:

4. Presionar en cualquiera de las opciones de abajo:5. INGRESANDO A REACCIONES: Al selecciona REACCIONES, se abrirá una

ventana, la cual te pedirá insertar el número de apoyo la cual quieres analizar

RESISTENCIA DE MATERIALES II

Page 22: LINEAS INFLUENCIA

UNIVERSIDAD NACIONAL DE HUANCAVELICAFACULTAD DE CIENCIAS DE INGENIERIA

ESCUELA PROFESIONAL DE INGENIERIA CIVIL

6. GRAFICAR, y MOSTRAR ECUACIONES DE LA REACCIONES EN LOS APOYOS:

RESISTENCIA DE MATERIALES II

Page 23: LINEAS INFLUENCIA

UNIVERSIDAD NACIONAL DE HUANCAVELICAFACULTAD DE CIENCIAS DE INGENIERIA

ESCUELA PROFESIONAL DE INGENIERIA CIVIL

7. GRAFICAR Y MOSTRAR LAS ECUACIONES DE LOS MOMENTOS EN LOS APOYOS:

RESISTENCIA DE MATERIALES II

Page 24: LINEAS INFLUENCIA

UNIVERSIDAD NACIONAL DE HUANCAVELICAFACULTAD DE CIENCIAS DE INGENIERIA

ESCUELA PROFESIONAL DE INGENIERIA CIVIL

8. GRAFICAR Y MOSTRAR LAS ECUACIONES DE LA FUERZA CORTANTE EN UN PUNTO:

9. ERRORES, Al ingresar mal los datos, te saldrá algunos errores:

RESISTENCIA DE MATERIALES II

Page 25: LINEAS INFLUENCIA

UNIVERSIDAD NACIONAL DE HUANCAVELICAFACULTAD DE CIENCIAS DE INGENIERIA

ESCUELA PROFESIONAL DE INGENIERIA CIVIL

SOLUCION CON EL PROGRAMA LINF2.1 PARA HP50g:

1. PRESENTACION DEL PROGRAMA LINF2.1:

2. Ingrese Número de tramos de la viga T=4

RESISTENCIA DE MATERIALES II

Page 26: LINEAS INFLUENCIA

UNIVERSIDAD NACIONAL DE HUANCAVELICAFACULTAD DE CIENCIAS DE INGENIERIA

ESCUELA PROFESIONAL DE INGENIERIA CIVIL

3. Ingresar las longitudes de los tramos: {4 6 8 5}

4. Te muestra las opciones:

5. En la Opcion 1 se encuentra la matriz de Viga continua [VC]:

6. En la opcion 2 se encuentra la Matriz de Carga Movil [CM]:

RESISTENCIA DE MATERIALES II

Page 27: LINEAS INFLUENCIA

UNIVERSIDAD NACIONAL DE HUANCAVELICAFACULTAD DE CIENCIAS DE INGENIERIA

ESCUELA PROFESIONAL DE INGENIERIA CIVIL

7. En la opcion 3 te muestra la matriz de momentos [M]:

8. En la Opción 4 se encuentra de Reacciones

9. Al presionar la opcion 5, te pide ingresar el tramo y la distancia del apoyo: {T D}

RESISTENCIA DE MATERIALES II

Page 28: LINEAS INFLUENCIA

UNIVERSIDAD NACIONAL DE HUANCAVELICAFACULTAD DE CIENCIAS DE INGENIERIA

ESCUELA PROFESIONAL DE INGENIERIA CIVIL

10. Esta te dará como resultado las ecuaciones y su respectiva tabulación.

11. Al igual que para el Vx, en la opcion 6 te pedirá el tramo y la distancia: {T D}

RESISTENCIA DE MATERIALES II