LINEAS INFLUENCIA
-
Upload
dennis-ventura-huaman -
Category
Documents
-
view
117 -
download
11
description
Transcript of 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
UNIVERSIDAD NACIONAL DE HUANCAVELICAFACULTAD DE CIENCIAS DE INGENIERIA
ESCUELA PROFESIONAL DE INGENIERIA CIVIL
RESISTENCIA DE MATERIALES II
UNIVERSIDAD NACIONAL DE HUANCAVELICAFACULTAD DE CIENCIAS DE INGENIERIA
ESCUELA PROFESIONAL DE INGENIERIA CIVIL
RESISTENCIA DE MATERIALES II
UNIVERSIDAD NACIONAL DE HUANCAVELICAFACULTAD DE CIENCIAS DE INGENIERIA
ESCUELA PROFESIONAL DE INGENIERIA CIVIL
RESISTENCIA DE MATERIALES II
UNIVERSIDAD NACIONAL DE HUANCAVELICAFACULTAD DE CIENCIAS DE INGENIERIA
ESCUELA PROFESIONAL DE INGENIERIA CIVIL
EJEMPLOS
RESISTENCIA DE MATERIALES II
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
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
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
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
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
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
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
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
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