var i=0; n=0; x=0; y=0; z=0; Fx=0; Fy=0; Fz=0; Mx=0; My=0; Mz=0; RMx=0; RMy=0; RMz=0; RFx=0; RFy=0; RFz=0; qx=0; qy=0; qz=0 var d=0; c1=0; b=0; c2=0; c3=0; xrf=0; yrf=0; zrf=0; var xrfx=0; zrfz=0; yrfy=0; xrf=0; zrf=0; yrf=0; qdx=0; qdy=0; qdz=0; var a=new Array() var Mox=new Array(); var Moy=new Array(); var Moz=new Array(); var Mox1=new Array(); var Moy1=new Array(); var Moz1=new Array(); //"zapis vnesenih podatkov v polja" function zapis(form) { //"pregledovanje dolocene podpore" if(form.gumb[0].checked) { RMx=1 RMy=1 RMz=1 RFx=1 RFy=1 RFz=1 } if(form.gumb[1].checked){ RMx=0 RMy=0 RMz=0 RFx=1 RFy=1 RFz=1 if(x!=0 || y!=0 || z!=0){ alert("Vrednosti tocke x, y in z morajo biti 0 ! Prosim izbrisi in popravi !") } } if(form.gumb[2].checked){ RMx=0 RMy=0 RMz=0 RFx=0 RFy=1 RFz=1 xrfx=RFx yrfy=RFy zrfz=RFz xrf=x yrf=y zrf=z if(x==0){ alert("Vrednost x mora biti razlicna od 0 ! Prosim izbrisi in popravi !") } } if(form.gumb[3].checked){ RMx=0 RMy=0 RMz=0 RFx=1 RFy=0 RFz=1 xrfx=RFx yrfy=RFy zrfz=RFz xrf=x yrf=y zrf=z if(y==0){ alert("Vrednost y mora biti razlicna od 0 ! Prosim izbrisi in popravi !") } } if(form.gumb[4].checked){ RMx=0 RMy=0 RMz=0 RFx=1 RFy=1 RFz=0 xrfx=RFx yrfy=RFy zrfz=RFz xrf=x yrf=y zrf=z if(z==0){ alert("Vrednost z mora biti razlicna od 0 ! Prosim izbrisi in popravi !") } } if(form.gumb[5].checked){ RMx=0 RMy=0 RMz=0 RFx=0 RFy=0 RFz=0 } n=i+1 m=n a[i]=new Array(x,y,z,Fx,Fy,Fz,Mx,My,Mz,RMx,RMy,RMz,RFx,RFy,RFz,qx,qy,qz) //"kontrola pravilnost postavitve podpor" b=a[i][10]+b c1=a[i][12]+c1 c2=a[i][13]+c2 c3=a[i][14]+c3 d=c1+c2+c3 if(b==1 && d>3) { alert ("Prevec ali premalo podpor. S pritiskom na gumb Korekcija izbrises zadnji vnos.") } if(d==4 || d==6 || d==7) { alert ("Prevec ali premalo podpor. S pritiskom na gumb Korekcija izbrises zadnji vnos.") } i=i+1 form.fx.value=0; form.fy.value=0; form.fz.value=0; form.mx.value=0; form.my.value=0; form.mz.value=0; form.q1x.value=0; form.q1y.value=0; form.q1z.value=0; // standardna vrednost kotov form.kotx.value=42.8; form.koty.value=20; form.kotz.value=20; } //"potrditev vnosa" function potrditevVnosa(form){ if(confirm("Zelim vnesti podatke za to tocko!")){ zapis(form); main(); } } //"potrditev izracuna" function potrditevIzracuna(form){ if(d==0){ alert("Podpore niso definirane") }else{ if(confirm("Zelim izracunati reakcije !")){ reakcije(form) } } } //"korekcija trenutno vne�enih podatkov" function korekcija(form){ if(i =0){ alert("Vsi vnosi so ze izbrisani!") }else{ i=i-1 b=b-a[i][10] c1=c1-a[i][12] c2=c2-a[i][13] c3=c3-a[i][14] d=c1+c2+c3 alert ("Izbrisan vnos �tevilka"+(i+1)+ " Tocka: x="+a[i][0]+"y="+a[i][1]+"z="+a[i][2]+"!") } } //"izpis za kontrolo pravilnosti" function izpis() { for(i=0; i n; i++) { document.write("") for(var j=0; j 15; j++){ document.write(a[i][j], ",") } } } //"izracun reakcij sil v smeri" var rfx=0; rfy=0; rfz=0; rmx=0; rmy=0; rmz=0; rfx1=0; rfy1=0; rfz1=0; rfx2=0; rfy2=0; rfz2=0; var rfx2b=0; rfy2b=0; rfz2b=0; rfx1a=0; rfy1a=0; rfz1a=0; rx=0; ry=0; rz=0; rsy=0; rsx=0; rsz=0; //"dodatni pogoji za vkljucitev kontinuiranih obremenitev" function reakcije(form) { //"dolocitev konzolnega ali nosilca na dveh podporah" for(i=0; i n; i++) { if(i==0){ qdx=0; qdy=0; qdz=0; rx=0; ry=0; rz=0; }else{ if(a[i-1][15]==0){ qdx=0; }else{ qdx=1; } if(a[i-1][16]==0){ qdy=0; }else{ qdy=1; } if(a[i-1][17]==0){ qdz=0; }else{ qdz=1; } rx=Math.sqrt((a[i-1][1]-a[i][1])*(a[i-1][1]-a[i][1])+(a[i-1][2]-a[i][2])*(a[i-1][2]-a[i][2])) ry=Math.sqrt((a[i-1][0]-a[i][0])*(a[i-1][0]-a[i][0])+(a[i-1][2]-a[i][2])*(a[i-1][2]-a[i][2])) rz=Math.sqrt((a[i-1][1]-a[i][1])*(a[i-1][1]-a[i][1])+(a[i-1][0]-a[i][0])*(a[i-1][0]-a[i][0])) rsx=0; rsy=0; rsz=0; rsx=((a[i][0]-a[i-1][0])/2)+a[i-1][0] rsy=((a[i][1]-a[i-1][1])/2)+a[i-1][1] rsz=((a[i][2]-a[i-1][2])/2)+a[i-1][2] } if(b==1) { rfx=-a[i][3]+qdx*a[i][15]*rx+rfx; rfy=-a[i][4]+qdy*a[i][16]*ry+rfy; rfz=-a[i][5]+qdz*a[i][17]*rz+rfz; rmx=-a[i][6]-a[i][4]*a[i][2]+a[i][5]*a[i][1]-rsy*qdz*a[i][17]*rz+rsz*qdy*a[i][16]*ry+rmx; rmy=-a[i][7]-a[i][3]*a[i][2]-a[i][5]*a[i][0]+rsx*qdz*a[i][17]*rz-rsz*qdx*a[i][15]*rx+rmy; rmz=-a[i][8]-a[i][3]*a[i][1]+a[i][4]*a[i][0]-rsx*qdy*a[i][16]*ry+rsy*qdx*a[i][15]*rx+rmz; }else { if(xrfx==0 && xrf!=0){ rfx2=0; rfz2=-((a[i][7]-a[i][2]*a[i][4]+a[i][5]*a[i][0]-rsx*qdz*a[i][17]*rz+rsz*qdx*a[i][15]*rx)/(xrf)) rfy2=(-a[i][4]*a[i][0]+a[i][3]*a[i][1]+a[i][8]+rsx*qdy*a[i][16]*ry-rsy*qdx*a[i][15]*rx)/(xrf) } if(yrfy==0 && yrf!=0){ rfy2=0; rfx2=-((a[i][8]-a[i][0]*a[i][4]+a[i][3]*a[i][1]+rsx*qdy*a[i][16]*ry-rsy*qdx*a[i][15]*rx)/(yrf)) rfz2=(a[i][6]+a[i][2]*a[i][4]-a[i][5]*a[i][1]+rsy*qdz*a[i][17]*rz-rsz*qdy*a[i][16]*ry)/(yrf) } if(zrfz==0 && zrf!=0){ rfz2=0; rfy2=-((-a[i][5]*a[i][1]+a[i][4]*a[i][2]+a[i][6]+rsy*qdz*a[i][17]*rz-rsz*qdy*a[i][16]*ry)/(zrf)) rfx2=(a[i][7]-a[i][3]*a[i][2]+a[i][5]*a[i][0]-rsx*qdz*a[i][17]*rz+rsz*qdx*a[i][15]*rx)/(zrf) } } rfx2b=rfx2b+rfx2 rfy2b=rfy2b+rfy2 rfz2b=rfz2b+rfz2 rfx1=-a[i][3]+qdx*a[i][15]*rx-rfx2 rfy1=-a[i][4]+qdy*a[i][16]*ry-rfy2 rfz1=-a[i][5]+qdz*a[i][17]*rz-rfz2 rfx1a=rfx1a+rfx1 rfy1a=rfy1a+rfy1 rfz1a=rfz1a+rfz1 //"vrednost reakcije v podpori 2 je rf..2b v podpori 1 pa rf..1 " } rfx1a=(Math.round(1000*rfx1a))/1000; rfy1a=(Math.round(1000*rfy1a))/1000; rfz1a=(Math.round(1000*rfz1a))/1000; rfx2b=(Math.round(1000*rfx2b))/1000; rfy2b=(Math.round(1000*rfy2b))/1000; rfz2b=(Math.round(1000*rfz2b))/1000; rfx=(Math.round(1000*rfx))/1000; rfy=(Math.round(1000*rfy))/1000; rfz=(Math.round(1000*rfz))/1000; rmx=(Math.round(1000*rmx))/1000; rmy=(Math.round(1000*rmy))/1000; rmz=(Math.round(1000*rmz))/1000; if(confirm("Zelim izracunati vrednosti notranjih velicin !")){ notranjeVelicine(form) } } //izpis vrednosti function rezultatiReakcij(){ if(b==1){ alert("Rezultati reakcij v podpori : Rfx="+rfx+"; Rfy="+rfy+"; Rfz="+rfz+";\n\ Rmx="+rmx+"; Rmy="+rmy+"; Rmz="+rmz+";"); }else{ alert("Rezultati reakcij v fiksni podpori : Rfx1="+rfx1a+"; Rfy1="+rfy1a+"; Rfz1="+rfz1a+";\n Rezultati reakcij v pomicni podpori : Rfx2="+rfx2b+"; Rfy2="+rfy2b+"; Rfz2="+rfz2b+";"); } } //"izracun notranjih velicin nosilca!" var ax=0; ay=0; az=0; bx=0; by=0; bz=0; cx=0; cy=0; cz=0; ra=0; rb=0; rc=0; nos=0; ty=0; tz=0; nos1=0; ty1=0; tz1=0; var ax1=0; ay1=0; az1=0; bx1=0; by1=0; bz1=0; cx1=0; cy1=0; cz1=0; ra1=0; rb1=0; rc1=0; var rmsx=0; rmsy=0; rmsz=0; var dxy=0; dxz=0; dyz=0; dxy1=0; dxz1=0; dyz1=0; dqxy=0; dqxz=0; dqyz=0; dqxy1=0; dqxz1=0; dqyz1=0; mx=0; my=0; mz=0; mx1=0; my1=0; mz1=0; mmx=0; mmy=0; mmz=0; mmx1=0; mmy1=0; mmz1=0; fnx=0; fny=0; fnz=0; fnx1=0; fny1=0; fnz1=0; qx1=0; qy1=0; qz1=0; qx=0; qy=0; qz=0; rsx0=0; rsy0=0; rsz0=0; razdaljax=0; razdaljay=0; razdaljaz=0; rqsx=0; rqsy=0; rqsz=0; mzn=0; mxn=0; myn=0; mzn1=0; mxn1=0; myn1=0; var N=new Array(); var Ty=new Array(); var Tz=new Array(); var N1=new Array(); var Ty1=new Array(); var Tz1=new Array(); var bb=new Array(); var bb1=new Array(); var cc=new Array(); var cc1=new Array(); var rrb=new Array(); var rrb1=new Array(); var rrc=new Array(); var rrc1=new Array(); bb[i]=new Array(); bb1[i]=new Array(); cc[i]=new Array(); cc1[i]=new Array(); function notranjeVelicine(form) { for(var r=0; r n; r++) { //alert(r); mzn=0; mxn=0; myn=0; mzn1=0; mxn1=0; myn1=0; i=r; if(b!=1){ if(i==0){ ax1=a[i+1][0]-a[i][0]; ay1=a[i+1][1]-a[i][1]; az1=a[i+1][2]-a[i][2]; ax=a[i+1][0]-a[i][0]; ay=a[i+1][1]-a[i][1]; az=a[i+1][2]-a[i][2]; } if(i!=0 && i n-1){ ax1=a[i][0]-a[i-1][0]; ay1=a[i][1]-a[i-1][1]; az1=a[i][2]-a[i-1][2]; ax=a[i+1][0]-a[i][0]; ay=a[i+1][1]-a[i][1]; az=a[i+1][2]-a[i][2]; } if(i==n-1){ alert ax=a[i][0]-a[i-1][0]; ay=a[i][1]-a[i-1][1]; az=a[i][2]-a[i-1][2]; ax1=a[i][0]-a[i-1][0]; ay1=a[i][1]-a[i-1][1]; az1=a[i][2]-a[i-1][2]; } if(az1!=0 && az1 0){ cx1=1; cy1=0; cz1=(ax1*cx1)/az1 } if(az1!=0 && az1>0){ cx1=-1; cy1=0; cz1=(ax1*cx)/az1 } if(az1==0){ cx1=0; cz1=1; cy1=0; } bx1=cy1*az1-cz1*ay1 by1=cz1*ax1-cx1*az1 bz1=cx1*ay1-cy1*ax1 ra1=Math.sqrt(ax1*ax1+ay1*ay1+az1*az1) rb1=Math.sqrt(bx1*bx1+by1*by1+bz1*bz1) rc1=Math.sqrt(cx1*cx1+cy1*cy1+cz1*cz1) if(az!=0 && az 0){ cx=1; cy=0; cz=(ax*cx)/az } if(az!=0 && az>0){ cx=-1; cy=0; cz=(ax*cx)/az } if(az==0){ cx=0; cz=1; cy=0; } bx=cy*az-cz*ay by=cz*ax-cx*az bz=cx*ay-cy*ax ra=Math.sqrt(ax*ax+ay*ay+az*az) rb=Math.sqrt(bx*bx+by*by+bz*bz) rc=Math.sqrt(cx*cx+cy*cy+cz*cz) bb[i]=new Array(); bb1[i]=new Array(); cc[i]=new Array(); cc1[i]=new Array(); bb[i][0]=bx; bb[i][1]=by; bb[i][2]=bz; bb1[i][0]=bx1; bb1[i][1]=by1; bb1[i][2]=bz1; cc[i][0]=cx; cc[i][1]=cy; cc[i][2]=cz; cc1[i][0]=cx1; cc1[i][1]=cy1; cc1[i][2]=cz1; rrb[i]=rb; rrb1[i]=rb1; rrc[i]=rc; rrc1[i]=rc1; // "notranje sile v nosilcu na dveh podporah" nn=i+1 nos1=0; ty1=0; tz1=0; ty=0; nos=0; tz=0; rmsx=a[i][0]; rmsy=a[i][1]; rmsz=a[i][2]; for(i=0; i nn; i++) { //alert("i"+i); //alert("nn"+nn); if(i==0){ qdx=0; qdy=0; qdz=0; rx=0; ry=0; rz=0; rsx0=0; rsy0=0; rsz0=0; }else{ if(a[i-1][15]==0){ qdx=0; }else{ qdx=1; } if(a[i-1][16]==0){ qdy=0; }else{ qdy=1; } if(a[i-1][17]==0){ qdz=0; }else{ qdz=1; } rx=Math.sqrt((a[i-1][1]-a[i][1])*(a[i-1][1]-a[i][1])+(a[i-1][2]-a[i][2])*(a[i-1][2]-a[i][2])) ry=Math.sqrt((a[i-1][0]-a[i][0])*(a[i-1][0]-a[i][0])+(a[i-1][2]-a[i][2])*(a[i-1][2]-a[i][2])) rz=Math.sqrt((a[i-1][1]-a[i][1])*(a[i-1][1]-a[i][1])+(a[i-1][0]-a[i][0])*(a[i-1][0]-a[i][0])) rsx=0; rsy=0; rsz=0; rsx=((a[i][0]-a[i-1][0])/2)+a[i-1][0] rsy=((a[i][1]-a[i-1][1])/2)+a[i-1][1] rsz=((a[i][2]-a[i-1][2])/2)+a[i-1][2] rsx0=((-a[i][0]+a[i-1][0])/2) rsy0=((-a[i][1]+a[i-1][1])/2) rsz0=((-a[i][2]+a[i-1][2])/2) } qx=(qdx*a[i][15]*rx)*(ax/ra)+(qdy*a[i][16]*ry)*(ay/ra)+(qdz*a[i][17]*rz)*(az/ra) qx1=(qdx*a[i][15]*rx)*(ax1/ra1)+(qdy*a[i][16]*ry)*(ay1/ra1)+(qdz*a[i][17]*rz)*(az1/ra1) qy=(qdx*a[i][15]*rx)*(bx/rb)+(qdy*a[i][16]*ry)*(by/rb)+(qdz*a[i][17]*rz)*(bz/rb) qy1=(qdx*a[i][15]*rx)*(bx1/rb1)+(qdy*a[i][16]*ry)*(by1/rb1)+(qdz*a[i][17]*rz)*(bz1/rb1) qz=(qdx*a[i][15]*rx)*(cx/rc)+(qdy*a[i][16]*ry)*(cy/rc)+(qdz*a[i][17]*rz)*(cz/rc) qz1=(qdx*a[i][15]*rx)*(cx1/rc1)+(qdy*a[i][16]*ry)*(cy1/rc1)+(qdz*a[i][17]*rz)*(cz1/rc1) mmx=(a[i][6])*(ax/ra)+(a[i][7])*(ay/ra)+(a[i][8])*(az/ra) mmx1=(a[i][6])*(ax1/ra1)+(a[i][7])*(ay1/ra1)+(a[i][8])*(az1/ra1) mmy=(a[i][6])*(bx/rb)+(a[i][7])*(by/rb)+(a[i][8])*(bz/rb) mmy1=(a[i][6])*(bx1/rb1)+(a[i][7])*(by1/rb1)+(a[i][8])*(bz1/rb1) mmz=(a[i][6])*(cx/rc)+(a[i][7])*(cy/rc)+(a[i][8])*(cz/rc) mmz1=(a[i][6])*(cx1/rc1)+(a[i][7])*(cy1/rc1)+(a[i][8])*(cz1/rc1) razdaljax=a[i][0]-rmsx razdaljay=a[i][1]-rmsy razdaljaz=a[i][2]-rmsz rqsx=razdaljax+rsx0 rqsy=razdaljay+rsy0 rqsz=razdaljaz+rsz0 dxy1=(cx1*razdaljax+cy1*razdaljay+cz1*razdaljaz)/rc1 dxy=(cx*razdaljax+cy*razdaljay+cz*razdaljaz)/rc dxz=(bx*razdaljax+by*razdaljay+bz*razdaljaz)/rb dxz1=(bx1*razdaljax+by1*razdaljay+bz1*razdaljaz)/rb1 dyz=(ax*razdaljax+ay*razdaljay+az*razdaljaz)/ra dyz1=(ax1*razdaljax+ay1*razdaljay+az1*razdaljaz)/ra1 dqxy1=(cx1*rqsx+cy1*rqsy+cz1*rqsz)/rc1 dqxy=(cx*rqsx+cy*rqsy+cz*rqsz)/rc dqxz=(bx*rqsx+by*rqsy+bz*rqsz)/rb dqxz1=(bx1*rqsx+by1*rqsy+bz1*rqsz)/rb1 dqyz=(ax*rqsx+ay*rqsy+az*rqsz)/ra dqyz1=(ax1*rqsx+ay1*rqsy+az1*rqsz)/ra1 //alert("razdaljax"+razdaljax) //alert("dyz"+dyz) //alert("dyz1"+dyz1) if(i==0){ if(a[i][12]==0 && a[i][13]==0 && a[i][14]==0){ podx=0; pody=0; podz=0; pdx=0; pdy=0; pdz=0; } if(a[i][12]==0 && a[i][13]!=0){ podx=0; pody=1; podz=1; pdx=0; pdy=0; pdz=0; } if(a[i][12]!=0 && a[i][13]==0){ podx=1; pody=0; podz=1; pdx=0; pdy=0; pdz=0; } if(a[i][12]!=0 && a[i][14]==0){ podx=1; pody=1; podz=0; pdx=0; pdy=0; pdz=0; } if(a[i][12]==1 && a[i][13]==1 && a[i][14]==1){ podx=0; pody=0; podz=0; pdx=1; pdy=1; pdz=1; } nos=-((ax/ra)*(a[i][3]-qdx*a[i][15]*rx+rfx1a*pdx+rfx2b*podx)+(ay/ra)*(a[i][4]-qdy*a[i][16]*ry+rfy2b*pody+rfy1a*pdy)+(az/ra)*(a[i][5]-qdz*a[i][17]*rz+rfz1a*pdz+rfz2b*podz))+nos ty=-((bx/rb)*(a[i][3]-qdx*a[i][15]*rx+rfx1a*pdx+rfx2b*podx)+(by/rb)*(a[i][4]-qdy*a[i][16]*ry+rfy2b*pody+rfy1a*pdy)+(bz/rb)*(a[i][5]-qdz*a[i][17]*rz+rfz1a*pdz+rfz2b*podz))+ty tz=-((cx/rc)*(a[i][3]-qdx*a[i][15]*rx+rfx1a*pdx+rfx2b*podx)+(cy/rc)*(a[i][4]-qdy*a[i][16]*ry+rfy2b*pody+rfy1a*pdy)+(cz/rc)*(a[i][5]-qdz*a[i][17]*rz+rfz1a*pdz+rfz2b*podz))+tz fnx1=(ax1/ra1)*(a[i][3]+rfx1a*pdx+rfx2b*podx)+(ay1/ra1)*(a[i][4]+rfy2b*pody+rfy1a*pdy)+(az1/ra1)*(a[i][5]+rfz1a*pdz+rfz2b*podz); fny1=(bx1/rb1)*(a[i][3]+rfx1a*pdx+rfx2b*podx)+(by1/rb1)*(a[i][4]+rfy2b*pody+rfy1a*pdy)+(bz1/rb1)*(a[i][5]+rfz1a*pdz+rfz2b*podz); fnz1=(cx1/rc1)*(a[i][3]+rfx1a*pdx+rfx2b*podx)+(cy1/rc1)*(a[i][4]+rfy2b*pody+rfy1a*pdy)+(cz1/rc1)*(a[i][5]+rfz1a*pdz+rfz2b*podz); mx1=-(-dxz1*fnz1+dxy1*fny1-dqxy1*qy1+dqxz1*qz1+mmx1) my1=-(dyz1*fnz1-dxy1*fnx1+dqxy1*qx1-dqyz1*qz1+mmy1) mz1=-(dxz1*fnx1-dyz1*fny1+dqyz1*qy1-dqxz1*qx1+mmz1) fnx=(ax/ra)*(a[i][3]+rfx1a*pdx+rfx2b*podx)+(ay/ra)*(a[i][4]+rfy2b*pody+rfy1a*pdy)+(az/ra)*(a[i][5]+rfz1a*pdz+rfz2b*podz); fny=(bx/rb)*(a[i][3]+rfx1a*pdx+rfx2b*podx)+(by/rb)*(a[i][4]+rfy2b*pody+rfy1a*pdy)+(bz/rb)*(a[i][5]+rfz1a*pdz+rfz2b*podz); fnz=(cx/rc)*(a[i][3]+rfx1a*pdx+rfx2b*podx)+(cy/rc)*(a[i][4]+rfy2b*pody+rfy1a*pdy)+(cz/rc)*(a[i][5]+rfz1a*pdz+rfz2b*podz); mx=-(-dxz*fnz+dxy*fny-dqxy*qy+dqxz*qz+mmx) my=-(dyz*fnz-dxy*fnx+dqxy*qx-dqyz*qz+mmy) mz=-(dxz*fnx-dyz*fny+dqyz*qy-dqxz*qx+mmz) }else{ if(a[i-1][12]==0 && a[i-1][13]==0 && a[i-1][14]==0){ podx=0; pody=0; podz=0; pdx=0; pdy=0; pdz=0; } if(a[i-1][12]==0 && a[i-1][13]!=0){ podx=0; pody=1; podz=1; pdx=0; pdy=0; pdz=0; } if(a[i-1][12]!=0 && a[i-1][13]==0){ podx=1; pody=0; podz=1; pdx=0; pdy=0; pdz=0; } if(a[i-1][12]!=0 && a[i-1][14]==0){ podx=1; pody=1; podz=0; pdx=0; pdy=0; pdz=0; } if(a[i-1][12]==1 && a[i-1][13]==1 && a[i-1][14]==1){ podx=0; pody=0; podz=0; pdx=1; pdy=1; pdz=1; } nos1=-((ax1/ra1)*(a[i-1][3]-qdx*a[i][15]*rx+rfx1a*pdx+rfx2b*podx)+(ay1/ra1)*(a[i-1][4]-qdy*a[i][16]*ry+rfy2b*pody+rfy1a*pdy)+(az1/ra1)*(a[i-1][5]-qdz*a[i][17]*rz+rfz1a*pdz+rfz2b*podz))+nos1 ty1=-((bx1/rb1)*(a[i-1][3]-qdx*a[i][15]*rx+rfx1a*pdx+rfx2b*podx)+(by1/rb1)*(a[i-1][4]-qdy*a[i][16]*ry+rfy2b*pody+rfy1a*pdy)+(bz1/rb1)*(a[i-1][5]-qdz*a[i][17]*rz+rfz1a*pdz+rfz2b*podz))+ty1 tz1=-((cx1/rc1)*(a[i-1][3]-qdx*a[i][15]*rx+rfx1a*pdx+rfx2b*podx)+(cy1/rc1)*(a[i-1][4]-qdy*a[i][16]*ry+rfy2b*pody+rfy1a*pdy)+(cz1/rc1)*(a[i-1][5]-qdz*a[i][17]*rz+rfz1a*pdz+rfz2b*podz))+tz1 if(a[i][12]==0 && a[i][13]==0 && a[i][14]==0){ podx=0; pody=0; podz=0; pdx=0; pdy=0; pdz=0; } if(a[i][12]==0 && a[i][13]!=0){ podx=0; pody=1; podz=1; pdx=0; pdy=0; pdz=0; } if(a[i][12]!=0 && a[i][13]==0){ podx=1; pody=0; podz=1; pdx=0; pdy=0; pdz=0; } if(a[i][12]!=0 && a[i][14]==0){ podx=1; pody=1; podz=0; pdx=0; pdy=0; pdz=0; } if(a[i][12]==1 && a[i][13]==1 && a[i][14]==1){ podx=0; pody=0; podz=0; pdx=1; pdy=1; pdz=1; } nos=-((ax/ra)*(a[i][3]-qdx*a[i][15]*rx+rfx1a*pdx+rfx2b*podx)+(ay/ra)*(a[i][4]-qdy*a[i][16]*ry+rfy2b*pody+rfy1a*pdy)+(az/ra)*(a[i][5]-qdz*a[i][17]*rz+rfz1a*pdz+rfz2b*podz))+nos ty=-((bx/rb)*(a[i][3]-qdx*a[i][15]*rx+rfx1a*pdx+rfx2b*podx)+(by/rb)*(a[i][4]-qdy*a[i][16]*ry+rfy2b*pody+rfy1a*pdy)+(bz/rb)*(a[i][5]-qdz*a[i][17]*rz+rfz1a*pdz+rfz2b*podz))+ty tz=-((cx/rc)*(a[i][3]-qdx*a[i][15]*rx+rfx1a*pdx+rfx2b*podx)+(cy/rc)*(a[i][4]-qdy*a[i][16]*ry+rfy2b*pody+rfy1a*pdy)+(cz/rc)*(a[i][5]-qdz*a[i][17]*rz+rfz1a*pdz+rfz2b*podz))+tz fnx1=(ax1/ra1)*(a[i][3]+rfx1a*pdx+rfx2b*podx)+(ay1/ra1)*(a[i][4]+rfy2b*pody+rfy1a*pdy)+(az1/ra1)*(a[i][5]+rfz1a*pdz+rfz2b*podz); fny1=(bx1/rb1)*(a[i][3]+rfx1a*pdx+rfx2b*podx)+(by1/rb1)*(a[i][4]+rfy2b*pody+rfy1a*pdy)+(bz1/rb1)*(a[i][5]+rfz1a*pdz+rfz2b*podz); fnz1=(cx1/rc1)*(a[i][3]+rfx1a*pdx+rfx2b*podx)+(cy1/rc1)*(a[i][4]+rfy2b*pody+rfy1a*pdy)+(cz1/rc1)*(a[i][5]+rfz1a*pdz+rfz2b*podz); mx1=-(-dxz1*fnz1+dxy1*fny1-dqxy1*qy1+dqxz1*qz1+mmx1) my1=-(dyz1*fnz1-dxy1*fnx1+dqxy1*qx1-dqyz1*qz1+mmy1) mz1=-(dxz1*fnx1-dyz1*fny1+dqyz1*qy1-dqxz1*qx1+mmz1) fnx=(ax/ra)*(a[i][3]+rfx1a*pdx+rfx2b*podx)+(ay/ra)*(a[i][4]+rfy2b*pody+rfy1a*pdy)+(az/ra)*(a[i][5]+rfz1a*pdz+rfz2b*podz); fny=(bx/rb)*(a[i][3]+rfx1a*pdx+rfx2b*podx)+(by/rb)*(a[i][4]+rfy2b*pody+rfy1a*pdy)+(bz/rb)*(a[i][5]+rfz1a*pdz+rfz2b*podz); fnz=(cx/rc)*(a[i][3]+rfx1a*pdx+rfx2b*podx)+(cy/rc)*(a[i][4]+rfy2b*pody+rfy1a*pdy)+(cz/rc)*(a[i][5]+rfz1a*pdz+rfz2b*podz); mx=-(-dxz*fnz+dxy*fny-dqxy*qy+dqxz*qz+mmx) my=-(dyz*fnz-dxy*fnx+dqxy*qx-dqyz*qz+mmy) mz=-(dxz*fnx-dyz*fny+dqyz*qy-dqxz*qx+mmz) } mxn=mx+mxn myn=my+myn mzn=mz+mzn mxn1=mx1+mxn1 myn1=my1+myn1 mzn1=mz1+mzn1 //alert("fny"+fny); //alert("mzn"+mzn); //alert("mxn"+mxn); } }else{ //"se za konzolo" if(i==0){ ax1=a[i+1][0]-a[i][0]; ay1=a[i+1][1]-a[i][1]; az1=a[i+1][2]-a[i][2]; ax=a[i+1][0]-a[i][0]; ay=a[i+1][1]-a[i][1]; az=a[i+1][2]-a[i][2]; } if(i!=0 && i n-1){ ax1=a[i][0]-a[i-1][0]; ay1=a[i][1]-a[i-1][1]; az1=a[i][2]-a[i-1][2]; ax=a[i+1][0]-a[i][0]; ay=a[i+1][1]-a[i][1]; az=a[i+1][2]-a[i][2]; } if(i==n-1){ alert ax=a[i][0]-a[i-1][0]; ay=a[i][1]-a[i-1][1]; az=a[i][2]-a[i-1][2]; ax1=a[i][0]-a[i-1][0]; ay1=a[i][1]-a[i-1][1]; az1=a[i][2]-a[i-1][2]; } if(az1!=0 && az1<0){ cx1=1; cy1=0; cz1=(ax1*cx1)/az1 } if(az1!=0 && az1>0){ cx1=-1; cy1=0; cz1=(ax1*cx)/az1 } if(az1==0){ cx1=0; cz1=1; cy1=0; } bx1=cy1*az1-cz1*ay1 by1=cz1*ax1-cx1*az1 bz1=cx1*ay1-cy1*ax1 ra1=Math.sqrt(ax1*ax1+ay1*ay1+az1*az1) rb1=Math.sqrt(bx1*bx1+by1*by1+bz1*bz1) rc1=Math.sqrt(cx1*cx1+cy1*cy1+cz1*cz1) if(az!=0 && az 0){ cx=1; cy=0; cz=(ax*cx)/az } if(az!=0 && az>0){ cx=-1; cy=0; cz=(ax*cx)/az } if(az==0){ cx=0; cz=1; cy=0; } bx=cy*az-cz*ay by=cz*ax-cx*az bz=cx*ay-cy*ax ra=Math.sqrt(ax*ax+ay*ay+az*az) rb=Math.sqrt(bx*bx+by*by+bz*bz) rc=Math.sqrt(cx*cx+cy*cy+cz*cz) bb[i]=new Array(); bb1[i]=new Array(); cc[i]=new Array(); cc1[i]=new Array(); bb[i][0]=bx; bb[i][1]=by; bb[i][2]=bz; bb1[i][0]=bx1; bb1[i][1]=by1; bb1[i][2]=bz1; cc[i][0]=cx; cc[i][1]=cy; cc[i][2]=cz; cc1[i][0]=cx1; cc1[i][1]=cy1; cc1[i][2]=cz1; rrb[i]=rb; rrb1[i]=rb1; rrc[i]=rc; rrc1[i]=rc1; nn=i+1 nos1=0; ty1=0; tz1=0; ty=0; nos=0; tz=0; rmsx=a[i][0]; rmsy=a[i][1]; rmsz=a[i][2]; for(i=0; i nn; i++) { //alert("i"+i); //alert("nn"+nn); if(i==0){ qdx=0; qdy=0; qdz=0; rx=0; ry=0; rz=0; rsx0=0; rsy0=0; rsz0=0; }else{ if(a[i-1][15]==0){ qdx=0; }else{ qdx=1; } if(a[i-1][16]==0){ qdy=0; }else{ qdy=1; } if(a[i-1][17]==0){ qdz=0; }else{ qdz=1; } rx=Math.sqrt((a[i-1][1]-a[i][1])*(a[i-1][1]-a[i][1])+(a[i-1][2]-a[i][2])*(a[i-1][2]-a[i][2])) ry=Math.sqrt((a[i-1][0]-a[i][0])*(a[i-1][0]-a[i][0])+(a[i-1][2]-a[i][2])*(a[i-1][2]-a[i][2])) rz=Math.sqrt((a[i-1][1]-a[i][1])*(a[i-1][1]-a[i][1])+(a[i-1][0]-a[i][0])*(a[i-1][0]-a[i][0])) rsx=0; rsy=0; rsz=0; rsx=((a[i][0]-a[i-1][0])/2)+a[i-1][0] rsy=((a[i][1]-a[i-1][1])/2)+a[i-1][1] rsz=((a[i][2]-a[i-1][2])/2)+a[i-1][2] rsx0=((-a[i][0]+a[i-1][0])/2) rsy0=((-a[i][1]+a[i-1][1])/2) rsz0=((-a[i][2]+a[i-1][2])/2) } qx=(qdx*a[i][15]*rx)*(ax/ra)+(qdy*a[i][16]*ry)*(ay/ra)+(qdz*a[i][17]*rz)*(az/ra) qx1=(qdx*a[i][15]*rx)*(ax1/ra1)+(qdy*a[i][16]*ry)*(ay1/ra1)+(qdz*a[i][17]*rz)*(az1/ra1) qy=(qdx*a[i][15]*rx)*(bx/rb)+(qdy*a[i][16]*ry)*(by/rb)+(qdz*a[i][17]*rz)*(bz/rb) qy1=(qdx*a[i][15]*rx)*(bx1/rb1)+(qdy*a[i][16]*ry)*(by1/rb1)+(qdz*a[i][17]*rz)*(bz1/rb1) qz=(qdx*a[i][15]*rx)*(cx/rc)+(qdy*a[i][16]*ry)*(cy/rc)+(qdz*a[i][17]*rz)*(cz/rc) qz1=(qdx*a[i][15]*rx)*(cx1/rc1)+(qdy*a[i][16]*ry)*(cy1/rc1)+(qdz*a[i][17]*rz)*(cz1/rc1) mmx=(a[i][6])*(ax/ra)+(a[i][7])*(ay/ra)+(a[i][8])*(az/ra) mmx1=(a[i][6])*(ax1/ra1)+(a[i][7])*(ay1/ra1)+(a[i][8])*(az1/ra1) mmy=(a[i][6])*(bx/rb)+(a[i][7])*(by/rb)+(a[i][8])*(bz/rb) mmy1=(a[i][6])*(bx1/rb1)+(a[i][7])*(by1/rb1)+(a[i][8])*(bz1/rb1) mmz=(a[i][6])*(cx/rc)+(a[i][7])*(cy/rc)+(a[i][8])*(cz/rc) mmz1=(a[i][6])*(cx1/rc1)+(a[i][7])*(cy1/rc1)+(a[i][8])*(cz1/rc1) kmmx=(rmx)*(ax/ra)+(rmy)*(ay/ra)+(rmz)*(az/ra) kmmx1=(rmx)*(ax1/ra1)+(rmy)*(ay1/ra1)+(rmz)*(az1/ra1) kmmy=(rmx)*(bx/rb)+(rmy)*(by/rb)+(rmz)*(bz/rb) kmmy1=(rmx)*(bx1/rb1)+(rmy)*(by1/rb1)+(rmz)*(bz1/rb1) kmmz=(rmx)*(cx/rc)+(rmy)*(cy/rc)+(rmz)*(cz/rc) kmmz1=(rmx)*(cx1/rc1)+(rmy)*(cy1/rc1)+(rmz)*(cz1/rc1) razdaljax=a[i][0]-rmsx razdaljay=a[i][1]-rmsy razdaljaz=a[i][2]-rmsz rqsx=razdaljax+rsx0 rqsy=razdaljay+rsy0 rqsz=razdaljaz+rsz0 dxy1=(cx1*razdaljax+cy1*razdaljay+cz1*razdaljaz)/rc1 dxy=(cx*razdaljax+cy*razdaljay+cz*razdaljaz)/rc dxz=(bx*razdaljax+by*razdaljay+bz*razdaljaz)/rb dxz1=(bx1*razdaljax+by1*razdaljay+bz1*razdaljaz)/rb1 dyz=(ax*razdaljax+ay*razdaljay+az*razdaljaz)/ra dyz1=(ax1*razdaljax+ay1*razdaljay+az1*razdaljaz)/ra1 dqxy1=(cx1*rqsx+cy1*rqsy+cz1*rqsz)/rc1 dqxy=(cx*rqsx+cy*rqsy+cz*rqsz)/rc dqxz=(bx*rqsx+by*rqsy+bz*rqsz)/rb dqxz1=(bx1*rqsx+by1*rqsy+bz1*rqsz)/rb1 dqyz=(ax*rqsx+ay*rqsy+az*rqsz)/ra dqyz1=(ax1*rqsx+ay1*rqsy+az1*rqsz)/ra1 //alert("razdaljax"+razdaljax) //alert("dyz"+dyz) //alert("dyz1"+dyz1) //alert("i"+i); if(i==0){ if(a[i][12]==0 && a[i][13]==0 && a[i][14]==0){ pdx=0; pdy=0; pdz=0; } if(a[i][12]!=0 && a[i][13]!=0 && a[i][14]!=0){ pdx=1; pdy=1; pdz=1; } nos=-((ax/ra)*(a[i][3]-qdx*a[i][15]*rx+rfx*pdx)+(ay/ra)*(a[i][4]-qdy*a[i][16]*ry+rfy*pdy)+(az/ra)*(a[i][5]-qdz*a[i][17]*rz+rfz*pdz))+nos ty=-((bx/rb)*(a[i][3]-qdx*a[i][15]*rx+rfx*pdx)+(by/rb)*(a[i][4]-qdy*a[i][16]*ry+rfy*pdy)+(bz/rb)*(a[i][5]-qdz*a[i][17]*rz+rfz*pdz))+ty tz=-((cx/rc)*(a[i][3]-qdx*a[i][15]*rx+rfx*pdx)+(cy/rc)*(a[i][4]-qdy*a[i][16]*ry+rfy*pdy)+(cz/rc)*(a[i][5]-qdz*a[i][17]*rz+rfz*pdz))+tz fnx1=(ax1/ra1)*(a[i][3]+rfx*pdx)+(ay1/ra1)*(a[i][4]+rfy*pdy)+(az1/ra1)*(a[i][5]+rfz*pdz); fny1=(bx1/rb1)*(a[i][3]+rfx*pdx)+(by1/rb1)*(a[i][4]+rfy*pdy)+(bz1/rb1)*(a[i][5]+rfz*pdz); fnz1=(cx1/rc1)*(a[i][3]+rfx*pdx)+(cy1/rc1)*(a[i][4]+rfy*pdy)+(cz1/rc1)*(a[i][5]+rfz*pdz); mx1=-(-dxz1*fnz1+dxy1*fny1-dqxy1*qy1+dqxz1*qz1+kmmx1*pdx+mmx1) my1=-(dyz1*fnz1-dxy1*fnx1+dqxy1*qx1-dqyz1*qz1+kmmy1*pdy+mmy1) mz1=-(dxz1*fnx1-dyz1*fny1+dqyz1*qy1-dqxz1*qx1+kmmz1*pdz+mmz1) //alert("1"+fny1); //alert("dyz1"+dyz1); //alert("mz1"+mz1); fnx=(ax/ra)*(a[i][3]+rfx*pdx)+(ay/ra)*(a[i][4]+rfy*pdy)+(az/ra)*(a[i][5]+rfz*pdz); fny=(bx/rb)*(a[i][3]+rfx*pdx)+(by/rb)*(a[i][4]+rfy*pdy)+(bz/rb)*(a[i][5]+rfz*pdz); fnz=(cx/rc)*(a[i][3]+rfx*pdx)+(cy/rc)*(a[i][4]+rfy*pdy)+(cz/rc)*(a[i][5]+rfz*pdz); mx=-(-dxz*fnz+dxy*fny-dqxy*qy+dqxz*qz+kmmx*pdx+mmx) my=-(dyz*fnz-dxy*fnx+dqxy*qx-dqyz*qz+kmmy*pdy+mmy) mz=-(dxz*fnx-dyz*fny+dqyz*qy-dqxz*qx+kmmz*pdz+mmz) }else{ if(a[i-1][12]==0 && a[i-1][13]==0 && a[i-1][14]==0){ pdx=0; pdy=0; pdz=0; } if(a[i-1][12]!=0 && a[i-1][13]!=0 && a[i-1][14]!=0){ pdx=1; pdy=1; pdz=1; } nos1=-((ax1/ra1)*(a[i-1][3]-qdx*a[i][15]*rx+rfx*pdx)+(ay1/ra1)*(a[i-1][4]-qdy*a[i][16]*ry+rfy*pdy)+(az1/ra1)*(a[i-1][5]-qdz*a[i][17]*rz+rfz*pdz))+nos1 ty1=-((bx1/rb1)*(a[i-1][3]-qdx*a[i][15]*rx+rfx*pdx)+(by1/rb1)*(a[i-1][4]-qdy*a[i][16]*ry+rfy*pdy)+(bz1/rb1)*(a[i-1][5]-qdz*a[i][17]*rz+rfz*pdz))+ty1 tz1=-((cx1/rc1)*(a[i-1][3]-qdx*a[i][15]*rx+rfx*pdx)+(cy1/rc1)*(a[i-1][4]-qdy*a[i][16]*ry+rfy*pdy)+(cz1/rc1)*(a[i-1][5]-qdz*a[i][17]*rz+rfz*pdz))+tz1 if(a[i][12]==0 && a[i][13]==0 && a[i][14]==0){ pdx=0; pdy=0; pdz=0; } if(a[i][12]!=0 && a[i][13]!=0 && a[i-1][14]!=0){ pdx=1; pdy=1; pdz=1; } nos=-((ax/ra)*(a[i][3]-qdx*a[i][15]*rx+rfx*pdx)+(ay/ra)*(a[i][4]-qdy*a[i][16]*ry+rfy*pdy)+(az/ra)*(a[i][5]-qdz*a[i][17]*rz+rfz*pdz))+nos ty=-((bx/rb)*(a[i][3]-qdx*a[i][15]*rx+rfx*pdx)+(by/rb)*(a[i][4]-qdy*a[i][16]*ry+rfy*pdy)+(bz/rb)*(a[i][5]-qdz*a[i][17]*rz+rfz*pdz))+ty tz=-((cx/rc)*(a[i][3]-qdx*a[i][15]*rx+rfx*pdx)+(cy/rc)*(a[i][4]-qdy*a[i][16]*ry+rfy*pdy)+(cz/rc)*(a[i][5]-qdz*a[i][17]*rz+rfz*pdz))+tz fnx1=(ax1/ra1)*(a[i][3]+rfx*pdx)+(ay1/ra1)*(a[i][4]+rfy*pdy)+(az1/ra1)*(a[i][5]+rfz*pdz); fny1=(bx1/rb1)*(a[i][3]+rfx*pdx)+(by1/rb1)*(a[i][4]+rfy*pdy)+(bz1/rb1)*(a[i][5]+rfz*pdz); fnz1=(cx1/rc1)*(a[i][3]+rfx*pdx)+(cy1/rc1)*(a[i][4]+rfy*pdy)+(cz1/rc1)*(a[i][5]+rfz*pdz); mx1=-(-dxz1*fnz1+dxy1*fny1-dqxy1*qy1+dqxz1*qz1+kmmx1*pdx+mmx1) my1=-(dyz1*fnz1-dxy1*fnx1+dqxy1*qx1-dqyz1*qz1+kmmy1*pdy+mmy1) mz1=-(dxz1*fnx1-dyz1*fny1+dqyz1*qy1-dqxz1*qx1+kmmz1*pdz+mmz1) //alert("2"+fny1); //alert("dyz1"+dyz1); //alert("mz2"+mz1); fnx=(ax/ra)*(a[i][3]+rfx*pdx)+(ay/ra)*(a[i][4]+rfy*pdy)+(az/ra)*(a[i][5]+rfz*pdz); fny=(bx/rb)*(a[i][3]+rfx*pdx)+(by/rb)*(a[i][4]+rfy*pdy)+(bz/rb)*(a[i][5]+rfz*pdz); fnz=(cx/rc)*(a[i][3]+rfx*pdx)+(cy/rc)*(a[i][4]+rfy*pdy)+(cz/rc)*(a[i][5]+rfz*pdz); mx=-(-dxz*fnz+dxy*fny-dqxy*qy+dqxz*qz+kmmx*pdx+mmx) my=-(dyz*fnz-dxy*fnx+dqxy*qx-dqyz*qz+kmmy*pdy+mmy) mz=-(dxz*fnx-dyz*fny+dqyz*qy-dqxz*qx+kmmz*pdz+mmz) } mxn=mx+mxn myn=my+myn mzn=mz+mzn mxn1=mx1+mxn1 myn1=my1+myn1 mzn1=mz1+mzn1 //alert("fny"+fny); //alert("mzn1"+mzn1); } } Ty[r]=(Math.round(1000*ty))/1000; N[r]=(Math.round(1000*nos))/1000; N1[r]=(Math.round(1000*nos1))/1000; Tz[r]=(Math.round(1000*tz))/1000; Tz1[r]=(Math.round(1000*tz1))/1000; Ty1[r]=(Math.round(1000*ty1))/1000; Mox[r]=(Math.round(1000*mxn))/1000; Moy[r]=(Math.round(1000*myn))/1000; Moz[r]=(Math.round(1000*mzn))/1000; Mox1[r]=(Math.round(1000*mxn1))/1000; Moy1[r]=(Math.round(1000*myn1))/1000; Moz1[r]=(Math.round(1000*mzn1))/1000; } } //"izris parametrov" function koordinat(){ var ks=new Array(); ks[0]=new Ppoint(0.3,0.5+0.42); ks[1]=new Ppoint(0.3-0.008,0.5+0.42); ks[2]=new Ppoint(0.3,0.5+0.45); ks[3]=new Ppoint(0.3+0.008,0.5+0.42); ks[4]=new Ppoint(ks[0].x,ks[0].y); ks[5]=new Ppoint(0.3,0.5); ks[6]=new Ppoint(0.3+0.6459,0.5-0.2633); ks[7]=new Ppoint(0.3+0.649,0.5-0.2558); ks[8]=new Ppoint(0.3+0.6737,0.5-0.2746); ks[9]=new Ppoint(0.3+0.6429,0.5-0.2707); ks[10]=new Ppoint(ks[6].x,ks[6].y); var kor_kriz=new Ppoint_list(11, ks); pset_line_colr_ind(2); pset_text_colr_ind(2); ptext(new Ppoint(0.25,0.5+0.43), "Y"); ptext(new Ppoint(0.33+0.63,0.5-0.25), "X"); ppolyline(kor_kriz); } function koordinat1(){ var ks1=new Array(); ks1[0]=new Ppoint(0.3, 0.5); ks1[1]=new Ppoint(0.3-0.231,0.5-0.283); ks1[2]=new Ppoint(0.3-0.2248,0.5-0.288); ks1[3]=new Ppoint(0.3-0.25,0.5-0.3062); ks1[4]=new Ppoint(0.3-0.2372,0.5-0.2779); ks1[5]=new Ppoint(0.3-0.231,0.5-0.283); ks1[6]=new Ppoint(ks1[0].x, ks1[0].y); var kor_kriz1=new Ppoint_list(7, ks1); pset_line_colr_ind(2); ppolyline(kor_kriz1); pset_text_colr_ind(2); ptext(new Ppoint(0.32-0.24,0.48-0.29), "Z"); } //funkcije za prikaz posameznih ravnin //x-y ravnina kot=20; kotz=20; kotx=42.8; xkot=42.8; ykot=20; zkot=20; function ravninaXY(){ kotx=0; kot=0; kotz=0; return kotx; return kot; return kotz; } //x-z ravnina function ravninaXZ(){ kotx=-90; kot=0; kotz=-90; return kotx; return kot; return kotz; } //z-y ravnina function ravninaZY(){ kotx=90; kot=90; kotz=0; return kotx; return kot; return kotz; } //definiranje kota function sprememba_kota(){ kotx=xkot; kot=ykot; kotz=zkot; return kotx; return kot; return kotz; rotacijaNosilca(); } //rotacija function rotacija(rotx,roty,rotz){ var deg=Math.PI/180; spempredznakz=-rotz x1=rotx y1=(roty)*Math.cos(kotx*deg)+(spempredznakz)*Math.sin(kotx*deg); z1=(-(roty)*Math.sin(kotx*deg)+(spempredznakz)*Math.cos(kotx*deg)); z11=z1 x11=(x1)*Math.cos(kotz*deg)+(y1)*Math.sin(kotz*deg); y11=-(x1)*Math.sin(kotz*deg)+(y1)*Math.cos(kotz*deg); y111=y11 x111=(x11)*Math.cos(kot*deg)+(z11)*Math.sin(kot*deg); z111=-(x11)*Math.sin(kot*deg)+(z11)*Math.cos(kot*deg); return x111; return y111; return z111; } //rotacija za poljubenj kot function rotacijaPoljubno(rotx,roty,rotz,pkotx,pkotz,pkoty){ var deg=Math.PI/180; spempredznakz=-rotz x1=rotx y1=(roty)*Math.cos(pkotx*deg)+(spempredznakz)*Math.sin(pkotx*deg); z1=(-(roty)*Math.sin(pkotx*deg)+(spempredznakz)*Math.cos(pkotx*deg)); z11=z1 x11=(x1)*Math.cos(pkotz*deg)+(y1)*Math.sin(pkotz*deg); y11=-(x1)*Math.sin(pkotz*deg)+(y1)*Math.cos(pkotz*deg); y111=y11 x111=(x11)*Math.cos(pkoty*deg)+(z11)*Math.sin(pkoty*deg); z111=-(x11)*Math.sin(pkoty*deg)+(z11)*Math.cos(pkoty*deg); return x111; return y111; return z111; } //mali koordinatni sistem function maliKoordinatniSistem(){ mks=new Array(); mks[0]=new Array(0.2,0,0); mks[1]=new Array(0,0.2,0); mks[2]=new Array(0,0,0.2); var rotiraniKSx=new Array; var rotiraniKSy=new Array; for(var i=0; i 3; i++){ rotx=mks[i][0]; roty=mks[i][1]; rotz=mks[i][2]; rotacija(rotx,roty,rotz); rotiraniKSx[i]=x111+0.75; rotiraniKSy[i]=y111+0.75; var tockaKS=new Array(); tockaKS[0]=new Ppoint(0.75,0.75); tockaKS[1]=new Ppoint(rotiraniKSx[i],rotiraniKSy[i]); var maliKS=new Ppoint_list(2, tockaKS); pset_line_colr_ind(2); ppolyline(maliKS); } pset_text_colr_ind(2); ptext(new Ppoint(rotiraniKSx[0]+0.02,rotiraniKSy[0]+0.02), "X"); ptext(new Ppoint(rotiraniKSx[1]+0.02,rotiraniKSy[1]+0.02), "Y"); ptext(new Ppoint(rotiraniKSx[2]+0.02,rotiraniKSy[2]+0.02), "Z"); } //rotacija prvo okrog x nato z in potem y var tockax= new Array(); var tockay= new Array(); var tocka= new Array(); var pompodporaClenkasta=new Array(); pompodporaClenkasta[0]=new Array(0,0,0); pompodporaClenkasta[1]=new Array(0.05,0,0.05); pompodporaClenkasta[2]=new Array(-0.05,0,0.05); pompodporaClenkasta[3]=new Array(0.05,0,-0.05); pompodporaClenkasta[4]=new Array(-0.05,0,-0.05); pompodporaClenkasta[5]=new Array(0.06,0,0.06); pompodporaClenkasta[6]=new Array(-0.06,0,0.06); pompodporaClenkasta[7]=new Array(0.06,0,-0.06); pompodporaClenkasta[8]=new Array(-0.06,0,-0.06); function rotacijaNosilca(){ var deg=Math.PI/180; var xx=0; yy=0; x1=0; y1=0; z1=0; x11=0; y11=0; z11=0; x111=0; y111=0; z111=0; skal=1; skal1=1; skal11=1; skal2=1; premikx=0; premiky=0; transx=0; transy=0; transx1=0; transy1=0; for(var i=0; i n; i++){ //alert(a[i][0]); //spememba predznaka z koordinate spempredznakz=-a[i][2] x1=a[i][0] y1=(a[i][1])*Math.cos(kotx*deg)+(spempredznakz)*Math.sin(kotx*deg); z1=(-(a[i][1])*Math.sin(kotx*deg)+(spempredznakz)*Math.cos(kotx*deg)); z11=z1 x11=(x1)*Math.cos(kotz*deg)+(y1)*Math.sin(kotz*deg); y11=-(x1)*Math.sin(kotz*deg)+(y1)*Math.cos(kotz*deg); y111=y11 x111=(x11)*Math.cos(kot*deg)+(z11)*Math.sin(kot*deg); z111=-(x11)*Math.sin(kot*deg)+(z11)*Math.cos(kot*deg); //translacija// if(y111 0){ transy=0-y111; if(transy>transy1){ transy1=transy; } } if(x111 0){ transx=0-x111; if(transx>transx1){ transx1=transx; } } tockax[i]=x111; tockay[i]=y111; //alert("xx0"+x111); //alert("yy0"+tockay[i]); } //skalacija for(var i=0; i n; i++){ tockax[i]=tockax[i]+transx1; tockay[i]=tockay[i]+transy1; if(tockax[i]>0.98 || tockay[i]>0.98){ skalx1=0.8/tockax[i]; skaly1=0.8/tockay[i]; if(skalx1 skaly1){ skal1=skalx1; }else{ skal1=skaly1; } if(skal1 skal){ skal=skal1; } } //alert("xx1"+tockax[i]); //alert("yy1"+tockay[i]); } for(var i=0; i n; i++){ tockax[i]=tockax[i]*skal+0.1; tockay[i]=tockay[i]*skal+0.1; xx=tockax[i]; yy=tockay[i]; //alert("xx"+xx); //alert("yy"+yy); tocka[i]=new Ppoint(xx, yy) } //risanje duplikat nosilca var tockaDuplikat=new Array(); // risanje podpore var podporaClenkasta=new Array(); podporaClenkasta[0]=new Array(0,0,0); podporaClenkasta[1]=new Array(0.05,0,0.05); podporaClenkasta[2]=new Array(-0.05,0,0.05); podporaClenkasta[3]=new Array(0.05,0,-0.05); podporaClenkasta[4]=new Array(-0.05,0,-0.05); podporaClenkasta[5]=new Array(0,0,0); for(var i=0; i n; i++){ xxx=tockax[i]+0.001; yyy=tockay[i]+0.001; tockaDuplikat[i]=new Ppoint(xxx, yyy) if(a[i][13]==1 && a[i][14]==1 && a[i][12]==1 && a[i][11]==0){ var tockaPodporaClenkasta=new Array(); for(var j=0; j 6; j++){ rotx=podporaClenkasta[j][0]/2; roty=podporaClenkasta[j][1]/2; rotz=podporaClenkasta[j][2]/2; rotacija(rotx,roty,rotz); tockaPodporaClenkasta[j]=new Ppoint(x111+tockax[i],y111+tockay[i]); } //izris reakcij // v x smeri sx=tockax[i]; sy=tockay[i]; skotx=kotx; skoty=kot; skotz=kotz; texst="RFx1"; color=7; izrisSile(sx,sy,skotx,skoty,skotz,texst,color); // v y smeri sx=tockax[i]; sy=tockay[i]; skotx=kotx-90+22.8; skoty=kot; skotz=0-90; texst="RFy1"; color=7; izrisSile(sx,sy,skotx,skoty,skotz,texst,color); // v z smeri sx=tockax[i]; sy=tockay[i]; skotx=kotx+90; skoty=kot+90; skotz=kotz; texst="RFz1"; color=7; izrisSile(sx,sy,skotx,skoty,skotz,texst,color); var podporac=new Ppoint_list(j, tockaPodporaClenkasta); pset_line_colr_ind(6); ppolyline(podporac); } //podpora pomicna v x smeri if(a[i][13]==1 && a[i][14]==1 && a[i][12]==0){ pkotx=kotx; pkoty=kot; pkotz=kotz; sx=tockax[i]; sy=tockay[i]; podporaPomicna(pkotx,pkotz,pkoty,sx,sy); //reakcije v tej podpori // v y smeri sx=tockax[i]; sy=tockay[i]; skotx=kotx-90; skoty=kot; skotz=0-90; texst="RFy2"; color=7; izrisSile(sx,sy,skotx,skoty,skotz,texst,color); // v z smeri sx=tockax[i]; sy=tockay[i]; skotx=kotx+90; skoty=kot+90; skotz=kotz; texst="RFz2"; color=7; izrisSile(sx,sy,skotx,skoty,skotz,texst,color); } //podpora pomicna v y smeri if(a[i][13]==0 && a[i][14]==1 && a[i][12]==1){ pkotx=kotx-90; pkoty=kot; pkotz=-90; sx=tockax[i]; sy=tockay[i]; podporaPomicna(pkotx,pkotz,pkoty,sx,sy); //reakcije v tej podpori // v x smeri sx=tockax[i]; sy=tockay[i]; skotx=kotx; skoty=kot; skotz=kotz; texst="RFx1"; color=7; izrisSile(sx,sy,skotx,skoty,skotz,texst,color); // v z smeri sx=tockax[i]; sy=tockay[i]; skotx=kotx+90; skoty=kot+90; skotz=kotz; texst="RFz2"; color=7; izrisSile(sx,sy,skotx,skoty,skotz,texst,color); } //podpora pomicna v z smeri if(a[i][13]==1 && a[i][14]==0 && a[i][12]==1){ pkotx=kotx+90; pkoty=kot+90; pkotz=kotz; sx=tockax[i]; sy=tockay[i]; podporaPomicna(pkotx,pkotz,pkoty,sx,sy); //reakcije v tej podpori // v x smeri sx=tockax[i]; sy=tockay[i]; skotx=kotx; skoty=kot; skotz=kotz; texst="RFx2"; color=7; izrisSile(sx,sy,skotx,skoty,skotz,texst,color); // v y smeri sx=tockax[i]; sy=tockay[i]; skotx=kotx-90; skoty=kot; skotz=0-90; texst="RFy2"; color=7; izrisSile(sx,sy,skotx,skoty,skotz,texst,color); } //fiksna podpora if(a[i][13]==1 && a[i][14]==1 && a[i][12]==1 && a[i][11]==1 && a[i][10]==1){ var podporaFiksna=new Array(); podporaFiksna[0]=new Array(0,0.05,0.05); podporaFiksna[1]=new Array(0,0.05,-0.05); podporaFiksna[2]=new Array(0,-0.05,-0.05); podporaFiksna[3]=new Array(0,-0.05,0.05); podporaFiksna[4]=new Array(0,0.05,0.05); sx=tockax[i]; sy=tockay[i]; var tockaPodporaFiksna=new Array(); for(var j=0; j 5; j++){ rotx=podporaFiksna[j][0]; roty=podporaFiksna[j][1]; rotz=podporaFiksna[j][2]; rotacija(rotx,roty,rotz); tockaPodporaFiksna[j]=new Ppoint(x111+sx,y111+sy); } var Fiksna=new Ppoint_list(j,tockaPodporaFiksna); pset_line_colr_ind(6); ppolyline(Fiksna); //reakcija v x smeri // v x smeri sx=tockax[i]; sy=tockay[i]; skotx=kotx; skoty=kot; skotz=kotz; texst="RFx"; color=7; izrisSile(sx,sy,skotx,skoty,skotz,texst,color); // v y smeri sx=tockax[i]; sy=tockay[i]; skotx=kotx-90+22.8; skoty=kot; skotz=0-90; texst="RFy"; color=7; izrisSile(sx,sy,skotx,skoty,skotz,texst,color); // v z smeri sx=tockax[i]; sy=tockay[i]; skotx=kotx+90; skoty=kot+90; skotz=kotz; texst="RFz"; color=7; izrisSile(sx,sy,skotx,skoty,skotz,texst,color); } } var nosilec=new Ppoint_list(n, tocka); pset_line_colr_ind(1); ppolyline(nosilec); var nosilec1=new Ppoint_list(n, tockaDuplikat); pset_line_colr_ind(1); ppolyline(nosilec1); } //funkcija, ki nam zagotavlja risanje aktivnih obremenitev function risanjeAktivnihObremenitev(){ for(var i=0; i n; i++){ //sila v x smeri if(a[i][3]!=0){ sx=tockax[i]; sy=tockay[i]; skotx=kotx; skoty=kot; skotz=kotz; texst="Fx"; color=4; izrisSile(sx,sy,skotx,skoty,skotz,texst,color); } //sila v y smeri if(a[i][4]!=0){ sx=tockax[i]; sy=tockay[i]; skotx=kotx-90; skoty=kot; skotz=-90; texst="Fy"; color=4; izrisSile(sx,sy,skotx,skoty,skotz,texst,color); } //sila v z smeri if(a[i][5]!=0){ sx=tockax[i]; sy=tockay[i]; skotx=kotx+90; skoty=kot+90; skotz=kotz; texst="Fz"; color=4; izrisSile(sx,sy,skotx,skoty,skotz,texst,color); } //izris momentnih krogov okrog x if(a[i][6]!=0){ sx=tockax[i]; sy=tockay[i]; pkotx=kotx; pkoty=kot; pkotz=kotz; texst="Mx"; color=4; r=0.04; izrisKroga(sx,sy,pkotx,pkotz,pkoty,texst,color,r) } //izris momentnih krogov okrog y if(a[i][7]!=0){ sx=tockax[i]; sy=tockay[i]; pkotx=kotx-20; pkoty=kot-110; pkotz=0-265; texst="My"; color=4; r=0.04; izrisKroga(sx,sy,pkotx,pkotz,pkoty,texst,color,r) } //izris momentnih krogov okrog z if(a[i][8]!=0){ sx=tockax[i]; sy=tockay[i]; pkotx=kotx+90; pkoty=kot+90; pkotz=kotz; texst="Mz"; color=4; r=0.04; izrisKroga(sx,sy,pkotx,pkotz,pkoty,texst,color,r) } if(i>0){ if(a[i-1][15]!=0 || a[i-1][16]!=0 || a[i-1][17]!=0){ //izris qx zvezne obremenitve if(a[i][15]!=0){ sx1=tockax[i-1]; sy1=tockay[i-1]; sx=tockax[i]; sy=tockay[i]; pkotx=kotx; pkoty=kot; pkotz=kotz; texst="qx"; color=4; zveznaObremenitevQ(sx,sy,color,texst,pkotx,pkotz,pkoty,sx1,sy1); } //izris qy zvezne obremenitve if(a[i][16]!=0){ sx1=tockax[i-1]; sy1=tockay[i-1]; sx=tockax[i]; sy=tockay[i]; pkotx=kotx-90; pkoty=kot; pkotz=0-90; texst="qy"; color=4; zveznaObremenitevQ(sx,sy,color,texst,pkotx,pkotz,pkoty,sx1,sy1); } //izris qz zvezne obremenitve if(a[i][17]!=0){ sx1=tockax[i-1]; sy1=tockay[i-1]; sx=tockax[i]; sy=tockay[i]; pkotx=kotx+90; pkoty=kot+90; pkotz=kotz; texst="qz"; color=4; zveznaObremenitevQ(sx,sy,color,texst,pkotx,pkotz,pkoty,sx1,sy1); } } } } } // risanje zveznih obremenitev function zveznaObremenitevQ(sx,sy,color,texst,pkotx,pkotz,pkoty,sx1,sy1){ var zvezna=new Array(); zvezna[0]=new Array(0,0,0); zvezna[1]=new Array(0.05,0,0); var zveznaObremenitev=new Array(); for(var j=0; j 2; j++){ rotx=zvezna[j][0]; roty=zvezna[j][1]; rotz=zvezna[j][2]; rotacijaPoljubno(rotx,roty,rotz,pkotx,pkotz,pkoty); zveznaObremenitev[j]=new Ppoint(x111,y111); } var zveznaPovezava=new Array(); zveznaPovezava[0]=new Ppoint(sx1,sy1); zveznaPovezava[1]=new Ppoint(zveznaObremenitev[1].x+sx1,zveznaObremenitev[1].y+sy1); zveznaPovezava[2]=new Ppoint(zveznaObremenitev[1].x+sx,zveznaObremenitev[1].y+sy); zveznaPovezava[3]=new Ppoint(sx,sy); var tockaZ1=new Ppoint_list(4, zveznaPovezava); pset_line_colr_ind(color); pset_text_colr_ind(color); ptext(new Ppoint(zveznaObremenitev[1].x+sx-0.1, zveznaObremenitev[1].y+sy+0.01), texst); ppolyline(tockaZ1); } //risanje momentnih krogov function izrisKroga(sx,sy,pkotx,pkotz,pkoty,texst,color,r){ var xkrog=new Array(); var ykrog=new Array(); var deg=Math.PI/180; var tockaKrog=new Array(); var tockaPuscicaKroga=new Array(); for(var k=0; k 281; k++){ zkroga=r*Math.cos(k*deg); ykroga=r*Math.sin(k*deg); xkroga=0; rotx=xkroga; roty=ykroga; rotz=zkroga; rotacijaPoljubno(rotx,roty,rotz,pkotx,pkotz,pkoty); tockaKrog[k]=new Ppoint(x111+sx,y111+sy); } var tockaS=new Ppoint_list(k, tockaKrog); pset_line_colr_ind(color); pset_text_colr_ind(color); ptext(new Ppoint(tockaKrog[280].x+0.03, tockaKrog[280].y+0.03), texst); ppolyline(tockaS); tockaPuscicaKroga[0]=new Ppoint(tockaKrog[280].x,tockaKrog[280].y); tockaPuscicaKroga[1]=new Ppoint(tockaKrog[280].x-0.001,tockaKrog[280].y+0.02); var tockaPuscica=new Ppoint_list(2, tockaPuscicaKroga); pset_line_colr_ind(color); ppolyline(tockaPuscica); } //podpora clenkasta pomicna function podporaPomicna(pkotx,pkotz,pkoty,sx,sy){ var tockaPomPodporaClenkasta=new Array(); for(var j=0; j 9; j++){ rotx=pompodporaClenkasta[j][0]/2; roty=pompodporaClenkasta[j][1]/2; rotz=pompodporaClenkasta[j][2]/2; rotacijaPoljubno(rotx,roty,rotz,pkotx,pkotz,pkoty) tockaPomPodporaClenkasta[j]=new Ppoint(x111+sx,y111+sy); } var podporab=new Ppoint_list(6, tockaPomPodporaClenkasta); pset_line_colr_ind(6); ppolyline(podporab); var crtaPodpora1=new Array(); crtaPodpora1[0]=new Ppoint(tockaPomPodporaClenkasta[5].x,tockaPomPodporaClenkasta[5].y); crtaPodpora1[1]=new Ppoint(tockaPomPodporaClenkasta[6].x,tockaPomPodporaClenkasta[6].y); var podporab1=new Ppoint_list(2, crtaPodpora1); pset_line_colr_ind(6); ppolyline(podporab1); var crtaPodpora2=new Array(); crtaPodpora2[0]=new Ppoint(tockaPomPodporaClenkasta[7].x,tockaPomPodporaClenkasta[7].y); crtaPodpora2[1]=new Ppoint(tockaPomPodporaClenkasta[8].x,tockaPomPodporaClenkasta[8].y); var podporab2=new Ppoint_list(2, crtaPodpora2); pset_line_colr_ind(6); ppolyline(podporab2); } //izris sil v x smeri function izrisSile(sx,sy,skotx,skoty,skotz,texst,color){ var sila=new Array(); sila[0]=new Array(0,0,0); sila[1]=new Array(0.1,0,0); sila[2]=new Array(0.08,0,0.005); sila[3]=new Array(0.08,0,-0.005); sila[4]=new Array(0.1,0,0); var tockaSila=new Array(); for(var k=0; k 5; k++){ rotx=sila[k][0]; roty=sila[k][1]; rotz=sila[k][2]; pkotx=skotx; pkoty=skoty; pkotz=skotz; rotacijaPoljubno(rotx,roty,rotz,pkotx,pkotz,pkoty); tockaSila[k]=new Ppoint(x111+sx,y111+sy); } var tockaS=new Ppoint_list(k, tockaSila); pset_line_colr_ind(color); pset_text_colr_ind(color); ptext(new Ppoint(tockaSila[4].x+0.002, tockaSila[4].y+0.002), texst); ppolyline(tockaS); } //izris krogov za momente// function moment_krog(){ var xr=0; yr=0; beta=0; var deg=Math.PI/180; //izris z kroga radij=0.05; x0=0.25; y0=0.4; zr=0; var krog=new Array(); for(var k=0; k 280; k++){ xr=radij*Math.cos(k*deg)+x0; yr=radij*Math.sin(k*deg)+y0; //se rotacija okrog x in y osi x1=xr y1=(yr)*Math.cos(kotx*deg)+(zr)*Math.sin(kotx*deg); z1=(-yr)*Math.sin(kotx*deg)+(zr)*Math.cos(kotx*deg); y111=y1 x111=(x1)*Math.cos(kot*deg)+(z1)*Math.sin(kot*deg); z111=-(x1)*Math.sin(kot*deg)+(z1)*Math.cos(kot*deg); //alert("x"+x111); //alert("y"+y111); krog[k]=new Ppoint(x111, y111); } var puscica=new Array puscica[0]=new Ppoint(krog[0].x, krog[0].y); puscica[1]=new Ppoint(krog[0].x-0.003, krog[0].y+0.025); puscica[2]=new Ppoint(krog[0].x, krog[0].y); puscica[3]=new Ppoint(krog[0].x-0.02, krog[0].y+0.004); var moment_puscica=new Ppoint_list(4, puscica); pset_line_colr_ind(5); pset_text_colr_ind(5); ptext(new Ppoint(krog[0].x-0.01, krog[0].y+0.04), "Mz"); ppolyline(moment_puscica); var moment_krog=new Ppoint_list(k, krog); pset_line_colr_ind(5); ppolyline(moment_krog); //za y os var krogy=new Array(); radij=0.05; x0=0.018; yr=0.8; z0=0.3; for(var k=0; k 280; k++){ xr=radij*Math.cos(k*deg)+x0; zr=radij*Math.sin(k*deg)+y0; //se rotacija okrog x in y osi x1=xr y1=(yr)*Math.cos(kotx*deg)+(zr)*Math.sin(kotx*deg); z1=(-yr)*Math.sin(kotx*deg)+(zr)*Math.cos(kotx*deg); z11=z1 x11=(x1)*Math.cos(kotz*deg)+(y1)*Math.sin(kotz*deg); y11=-(x1)*Math.sin(kotz*deg)+(y1)*Math.cos(kotz*deg); //alert("x"+x111); //alert("y"+y111); krogy[k]=new Ppoint(x11, y11); } var moment_krogy=new Ppoint_list(k, krogy); pset_line_colr_ind(5); ppolyline(moment_krogy); var puscicay=new Array puscicay[0]=new Ppoint(krogy[0].x, krogy[0].y); puscicay[1]=new Ppoint(krogy[0].x+0.008, krogy[0].y+0.02); puscicay[2]=new Ppoint(krogy[0].x, krogy[0].y); puscicay[3]=new Ppoint(krogy[0].x-0.015, krogy[0].y+0.009); var moment_puscicay=new Ppoint_list(4, puscicay); pset_line_colr_ind(5); pset_text_colr_ind(5); ptext(new Ppoint(krogy[0].x-0.01, krogy[0].y+0.04), "My"); ppolyline(moment_puscicay); //za x os var krogx=new Array(); radij=0.05; xr=0.75; y0=0.566; z0=0.4; for(var k=0; k 280; k++){ zr=radij*Math.cos(k*deg)+x0; yr=radij*Math.sin(k*deg)+y0; //se rotacija okrog x in y osi z11=zr x11=(xr)*Math.cos(kotz*deg)+(yr)*Math.sin(kotz*deg); y11=-(xr)*Math.sin(kotz*deg)+(yr)*Math.cos(kotz*deg); y111=y11 x111=(x11)*Math.cos(kot*deg)+(z11)*Math.sin(kot*deg); z111=-(x11)*Math.sin(kot*deg)+(z11)*Math.cos(kot*deg); //alert("x"+x111); //alert("y"+y111); krogx[k]=new Ppoint(x111, y111); } var moment_krogx=new Ppoint_list(k, krogx); pset_line_colr_ind(5); ppolyline(moment_krogx); var puscicax=new Array puscicax[0]=new Ppoint(krogx[0].x, krogx[0].y); puscicax[1]=new Ppoint(krogx[0].x+0.01, krogx[0].y+0.02); puscicax[2]=new Ppoint(krogx[0].x, krogx[0].y); puscicax[3]=new Ppoint(krogx[0].x-0.01, krogx[0].y+0.01); var moment_puscicax=new Ppoint_list(4, puscicax); pset_line_colr_ind(5); pset_text_colr_ind(5); ptext(new Ppoint(krogx[0].x+0.01, krogx[0].y+0.04), "Mx"); ppolyline(moment_puscicax); } function main() { var deg=Math.PI/180; var WorkstnID = 1; /* workstation identifier */ var ConnID = document.Phigs; /* connection identifier */ var WorkstnType = PWODSX; /* An OUTPUT, direct, single, Xwindow */ var TheLine = 1; /* structure ID (chosen by user) */ var LinePts = new Array(); /* points for the polyline */ LinePts[0] = new Ppoint(0.0, 0.0); LinePts[1] = new Ppoint(0.0, 0.0); var LineData = new Ppoint_list(2, LinePts); /* data for the polyline */ popen_phigs("stderr", 0); /* errors go to "stderr" */ popen_ws(WorkstnID, ConnID, WorkstnType); popen_struct(TheLine); ppolyline(LineData); koordinat(); koordinat1(); rotacijaNosilca(); risanjeAktivnihObremenitev(); moment_krog(); pclose_struct(); ppost_struct(WorkstnID, TheLine, 1.0); pclose_ws(WorkstnID); pclose_phigs(); } //izrus diagrama var tockaN=new Array(); var tockaN1=new Array(); var tockaxN=new Array; var tockayN=new Array; var tockaxN1=new Array; var tockayN1=new Array; var tockaxTz=new Array; var tockayTz=new Array; var tockaxTz1=new Array; var tockaTz=new Array; var tockaTz1=new Array; var tockayTz1=new Array; var tockaxTy=new Array; var tockayTy=new Array; var tockaxTy1=new Array; var tockaTy=new Array; var tockaTy1=new Array; var tockayTy1=new Array; var tockaMx=new Array(); var tockaMx1=new Array(); var tockaxMx=new Array; var tockayMx=new Array; var tockaxMx1=new Array; var tockayMx1=new Array; var tockaMy=new Array(); var tockaMy1=new Array(); var tockaxMy=new Array; var tockayMy=new Array; var tockaxMy1=new Array; var tockayMy1=new Array; var tockaMz=new Array(); var tockaMz1=new Array(); var tockaxMz=new Array; var tockayMz=new Array; var tockaxMz1=new Array; var tockayMz1=new Array; function izris_diagramov(){ var deg=Math.PI/180; //skalacija velikostDiagrama=0.1/Math.abs(skal); var skalN=1; var skalTz=1; var skalTy=1; var skalMx=1; var skalMy=1; var skalMz=1; for(var i=0; i n; i++){ skalN0=Math.abs(N[i])/velikostDiagrama; skalN1=Math.abs(N1[i])/velikostDiagrama; if(skalN0>skalN1){ skalNy=skalN0; }else{ skalNy=skalN1; } if(skalNy>skalN){ skalN=skalNy; } skalTz0=Math.abs(Tz[i])/velikostDiagrama; skalTz1=Math.abs(Tz1[i])/velikostDiagrama; if(skalTz0>skalTz1){ skalTzy=skalTz0; }else{ skalTzy=skalTz1; } if(skalTzy>skalTz){ skalTz=skalTzy; } skalTy0=Math.abs(Ty[i])/velikostDiagrama; skalTy1=Math.abs(Ty1[i])/velikostDiagrama; if(skalTy0>skalTy1){ skalTyy=skalTy0; }else{ skalTyy=skalTy1; } if(skalTyy>skalTy){ skalTy=skalTyy; } skalMx0=Math.abs(Mox[i])/velikostDiagrama; skalMx1=Math.abs(Mox1[i])/velikostDiagrama; if(skalMx0>skalMx1){ skalMxy=skalMx0; }else{ skalMxy=skalMx1; } if(skalMxy>skalMx){ skalMx=skalMxy; } skalMy0=Math.abs(Moy[i])/velikostDiagrama; skalMy1=Math.abs(Moy1[i])/velikostDiagrama; if(skalMy0>skalMy1){ skalMyy=skalMy0; }else{ skalMyy=skalMy1; } if(skalMyy>skalMy){ skalMy=skalMyy; } skalMz0=Math.abs(Moz[i])/velikostDiagrama; skalMz1=Math.abs(Moz1[i])/velikostDiagrama; if(skalMz0>skalMz1){ skalMzy=skalMz0; }else{ skalMzy=skalMz1; } if(skalMzy>skalMz){ skalMz=skalMzy; } } for(var i=0; i n; i++){ tockaN[i]=new Array(); tockaN1[i]=new Array(); tockaTz[i]=new Array(); tockaTz1[i]=new Array(); tockaTy[i]=new Array(); tockaTy1[i]=new Array(); tockaMx[i]=new Array(); tockaMx1[i]=new Array(); tockaMy[i]=new Array(); tockaMy1[i]=new Array(); tockaMz[i]=new Array(); tockaMz1[i]=new Array(); for(var j=0; j 3; j++){ tockaN[i][j]=((N[i]/skalN)/rrb[i])*bb[i][j]+a[i][j]; tockaN1[i][j]=((N1[i]/skalN)/rrb1[i])*bb1[i][j]+a[i][j]; tockaTz[i][j]=((Tz[i]/skalTz)/rrc[i])*cc[i][j]+a[i][j]; tockaTz1[i][j]=((Tz1[i]/skalTz)/rrc1[i])*cc1[i][j]+a[i][j]; tockaTy[i][j]=((Ty[i]/skalTy)/rrb[i])*bb[i][j]+a[i][j]; tockaTy1[i][j]=((Ty1[i]/skalTy)/rrb1[i])*bb1[i][j]+a[i][j]; tockaMx[i][j]=((Mox[i]/skalMx)/rrb[i])*bb[i][j]+a[i][j]; tockaMx1[i][j]=((Mox1[i]/skalMx)/rrb1[i])*bb1[i][j]+a[i][j]; tockaMy[i][j]=((Moy[i]/skalMy)/rrb[i])*bb[i][j]+a[i][j]; tockaMy1[i][j]=((Moy1[i]/skalMy)/rrb1[i])*bb1[i][j]+a[i][j]; tockaMz[i][j]=((Moz[i]/skalMz)/rrc[i])*cc[i][j]+a[i][j]; tockaMz1[i][j]=((Moz1[i]/skalMz)/rrc1[i])*cc1[i][j]+a[i][j]; } } //rotacija // for(var i=0; i n; i++){ //alert(a[i][0]); //spememba predznaka z koordinate //za N spempredznakz=-tockaN[i][2] x1=tockaN[i][0] y1=(tockaN[i][1])*Math.cos(kotx*deg)+(spempredznakz)*Math.sin(kotx*deg); z1=(-(tockaN[i][1])*Math.sin(kotx*deg)+(spempredznakz)*Math.cos(kotx*deg)); z11=z1 x11=(x1)*Math.cos(kotz*deg)+(y1)*Math.sin(kotz*deg); y11=-(x1)*Math.sin(kotz*deg)+(y1)*Math.cos(kotz*deg); y111=y11 x111=(x11)*Math.cos(kot*deg)+(z11)*Math.sin(kot*deg); z111=-(x11)*Math.sin(kot*deg)+(z11)*Math.cos(kot*deg); tockaxN[i]=(x111+transx1)*skal+0.1; tockayN[i]=(y111+transy1)*skal+0.1; // za N1 spempredznakz=-tockaN1[i][2] x1=tockaN1[i][0] y1=(tockaN1[i][1])*Math.cos(kotx*deg)+(spempredznakz)*Math.sin(kotx*deg); z1=(-(tockaN1[i][1])*Math.sin(kotx*deg)+(spempredznakz)*Math.cos(kotx*deg)); z11=z1 x11=(x1)*Math.cos(kotz*deg)+(y1)*Math.sin(kotz*deg); y11=-(x1)*Math.sin(kotz*deg)+(y1)*Math.cos(kotz*deg); y111=y11 x111=(x11)*Math.cos(kot*deg)+(z11)*Math.sin(kot*deg); z111=-(x11)*Math.sin(kot*deg)+(z11)*Math.cos(kot*deg); tockaxN1[i]=(x111+transx1)*skal+0.1; tockayN1[i]=(y111+transy1)*skal+0.1; //za Tz spempredznakz=-tockaTz[i][2] x1=tockaTz[i][0] y1=(tockaTz[i][1])*Math.cos(kotx*deg)+(spempredznakz)*Math.sin(kotx*deg); z1=(-(tockaTz[i][1])*Math.sin(kotx*deg)+(spempredznakz)*Math.cos(kotx*deg)); z11=z1 x11=(x1)*Math.cos(kotz*deg)+(y1)*Math.sin(kotz*deg); y11=-(x1)*Math.sin(kotz*deg)+(y1)*Math.cos(kotz*deg); y111=y11 x111=(x11)*Math.cos(kot*deg)+(z11)*Math.sin(kot*deg); z111=-(x11)*Math.sin(kot*deg)+(z11)*Math.cos(kot*deg); tockaxTz[i]=(x111+transx1)*skal+0.1; tockayTz[i]=(y111+transy1)*skal+0.1; // za Tz1 spempredznakz=-tockaTz1[i][2] x1=tockaTz1[i][0] y1=(tockaTz1[i][1])*Math.cos(kotx*deg)+(spempredznakz)*Math.sin(kotx*deg); z1=(-(tockaTz1[i][1])*Math.sin(kotx*deg)+(spempredznakz)*Math.cos(kotx*deg)); z11=z1 x11=(x1)*Math.cos(kotz*deg)+(y1)*Math.sin(kotz*deg); y11=-(x1)*Math.sin(kotz*deg)+(y1)*Math.cos(kotz*deg); y111=y11 x111=(x11)*Math.cos(kot*deg)+(z11)*Math.sin(kot*deg); z111=-(x11)*Math.sin(kot*deg)+(z11)*Math.cos(kot*deg); tockaxTz1[i]=(x111+transx1)*skal+0.1; tockayTz1[i]=(y111+transy1)*skal+0.1; //za Ty spempredznakz=-tockaTy[i][2] x1=tockaTy[i][0] y1=(tockaTy[i][1])*Math.cos(kotx*deg)+(spempredznakz)*Math.sin(kotx*deg); z1=(-(tockaTy[i][1])*Math.sin(kotx*deg)+(spempredznakz)*Math.cos(kotx*deg)); z11=z1 x11=(x1)*Math.cos(kotz*deg)+(y1)*Math.sin(kotz*deg); y11=-(x1)*Math.sin(kotz*deg)+(y1)*Math.cos(kotz*deg); y111=y11 x111=(x11)*Math.cos(kot*deg)+(z11)*Math.sin(kot*deg); z111=-(x11)*Math.sin(kot*deg)+(z11)*Math.cos(kot*deg); tockaxTy[i]=(x111+transx1)*skal+0.1; tockayTy[i]=(y111+transy1)*skal+0.1; // za Ty1 spempredznakz=-tockaTy1[i][2] x1=tockaTy1[i][0] y1=(tockaTy1[i][1])*Math.cos(kotx*deg)+(spempredznakz)*Math.sin(kotx*deg); z1=(-(tockaTy1[i][1])*Math.sin(kotx*deg)+(spempredznakz)*Math.cos(kotx*deg)); z11=z1 x11=(x1)*Math.cos(kotz*deg)+(y1)*Math.sin(kotz*deg); y11=-(x1)*Math.sin(kotz*deg)+(y1)*Math.cos(kotz*deg); y111=y11 x111=(x11)*Math.cos(kot*deg)+(z11)*Math.sin(kot*deg); z111=-(x11)*Math.sin(kot*deg)+(z11)*Math.cos(kot*deg); tockaxTy1[i]=(x111+transx1)*skal+0.1; tockayTy1[i]=(y111+transy1)*skal+0.1; //za Mx spempredznakz=-tockaMx[i][2] x1=tockaMx[i][0] y1=(tockaMx[i][1])*Math.cos(kotx*deg)+(spempredznakz)*Math.sin(kotx*deg); z1=(-(tockaMx[i][1])*Math.sin(kotx*deg)+(spempredznakz)*Math.cos(kotx*deg)); z11=z1 x11=(x1)*Math.cos(kotz*deg)+(y1)*Math.sin(kotz*deg); y11=-(x1)*Math.sin(kotz*deg)+(y1)*Math.cos(kotz*deg); y111=y11 x111=(x11)*Math.cos(kot*deg)+(z11)*Math.sin(kot*deg); z111=-(x11)*Math.sin(kot*deg)+(z11)*Math.cos(kot*deg); tockaxMx[i]=(x111+transx1)*skal+0.1; tockayMx[i]=(y111+transy1)*skal+0.1; // za Mx1 spempredznakz=-tockaMx1[i][2] x1=tockaMx1[i][0] y1=(tockaMx1[i][1])*Math.cos(kotx*deg)+(spempredznakz)*Math.sin(kotx*deg); z1=(-(tockaMx1[i][1])*Math.sin(kotx*deg)+(spempredznakz)*Math.cos(kotx*deg)); z11=z1 x11=(x1)*Math.cos(kotz*deg)+(y1)*Math.sin(kotz*deg); y11=-(x1)*Math.sin(kotz*deg)+(y1)*Math.cos(kotz*deg); y111=y11 x111=(x11)*Math.cos(kot*deg)+(z11)*Math.sin(kot*deg); z111=-(x11)*Math.sin(kot*deg)+(z11)*Math.cos(kot*deg); tockaxMx1[i]=(x111+transx1)*skal+0.1; tockayMx1[i]=(y111+transy1)*skal+0.1; //za My spempredznakz=-tockaMy[i][2] x1=tockaMy[i][0] y1=(tockaMy[i][1])*Math.cos(kotx*deg)+(spempredznakz)*Math.sin(kotx*deg); z1=(-(tockaMy[i][1])*Math.sin(kotx*deg)+(spempredznakz)*Math.cos(kotx*deg)); z11=z1 x11=(x1)*Math.cos(kotz*deg)+(y1)*Math.sin(kotz*deg); y11=-(x1)*Math.sin(kotz*deg)+(y1)*Math.cos(kotz*deg); y111=y11 x111=(x11)*Math.cos(kot*deg)+(z11)*Math.sin(kot*deg); z111=-(x11)*Math.sin(kot*deg)+(z11)*Math.cos(kot*deg); tockaxMy[i]=(x111+transx1)*skal+0.1; tockayMy[i]=(y111+transy1)*skal+0.1; // za My1 spempredznakz=-tockaMy1[i][2] x1=tockaMy1[i][0] y1=(tockaMy1[i][1])*Math.cos(kotx*deg)+(spempredznakz)*Math.sin(kotx*deg); z1=(-(tockaMy1[i][1])*Math.sin(kotx*deg)+(spempredznakz)*Math.cos(kotx*deg)); z11=z1 x11=(x1)*Math.cos(kotz*deg)+(y1)*Math.sin(kotz*deg); y11=-(x1)*Math.sin(kotz*deg)+(y1)*Math.cos(kotz*deg); y111=y11 x111=(x11)*Math.cos(kot*deg)+(z11)*Math.sin(kot*deg); z111=-(x11)*Math.sin(kot*deg)+(z11)*Math.cos(kot*deg); tockaxMy1[i]=(x111+transx1)*skal+0.1; tockayMy1[i]=(y111+transy1)*skal+0.1; //za Mz spempredznakz=-tockaMz[i][2] x1=tockaMz[i][0] y1=(tockaMz[i][1])*Math.cos(kotx*deg)+(spempredznakz)*Math.sin(kotx*deg); z1=(-(tockaMz[i][1])*Math.sin(kotx*deg)+(spempredznakz)*Math.cos(kotx*deg)); z11=z1 x11=(x1)*Math.cos(kotz*deg)+(y1)*Math.sin(kotz*deg); y11=-(x1)*Math.sin(kotz*deg)+(y1)*Math.cos(kotz*deg); y111=y11 x111=(x11)*Math.cos(kot*deg)+(z11)*Math.sin(kot*deg); z111=-(x11)*Math.sin(kot*deg)+(z11)*Math.cos(kot*deg); tockaxMz[i]=(x111+transx1)*skal+0.1; tockayMz[i]=(y111+transy1)*skal+0.1; // za Mz1 spempredznakz=-tockaMz1[i][2] x1=tockaMz1[i][0] y1=(tockaMz1[i][1])*Math.cos(kotx*deg)+(spempredznakz)*Math.sin(kotx*deg); z1=(-(tockaMz1[i][1])*Math.sin(kotx*deg)+(spempredznakz)*Math.cos(kotx*deg)); z11=z1 x11=(x1)*Math.cos(kotz*deg)+(y1)*Math.sin(kotz*deg); y11=-(x1)*Math.sin(kotz*deg)+(y1)*Math.cos(kotz*deg); y111=y11 x111=(x11)*Math.cos(kot*deg)+(z11)*Math.sin(kot*deg); z111=-(x11)*Math.sin(kot*deg)+(z11)*Math.cos(kot*deg); tockaxMz1[i]=(x111+transx1)*skal+0.1; tockayMz1[i]=(y111+transy1)*skal+0.1; } } //zspis v tocko function osne_sile(){ for(var i=0; i n-1; i++){ var lineN=new Array; lineN[0]=new Ppoint(tocka[i].x, tocka[i].y); lineN[1]=new Ppoint(tockaxN[i], tockayN[i]); lineN[2]=new Ppoint(tockaxN1[i+1], tockayN1[i+1]); lineN[3]=new Ppoint(tocka[i+1].x, tocka[i+1].y); lineN[4]=new Ppoint(lineN[1].x, lineN[1].y); lineN[5]=new Ppoint(tocka[i].x, tocka[i].y); lineN[6]=new Ppoint(lineN[2].x, lineN[2].y); var sila_osna=new Ppoint_list(7, lineN); pset_line_colr_ind(3); pset_text_colr_ind(3); ptext(new Ppoint(tockaxN[i]+0.03, tockayN[i]+0.02), N[i]); ptext(new Ppoint(tockaxN1[i+1]-0.03, tockayN1[i+1]+0.02), N1[i+1]); ppolyline(sila_osna); } } //odpre phigs za izris diagramov function main_diagrami_osne_sile() { var deg=Math.PI/180; var WorkstnID = 1; /* workstation identifier */ var ConnID = document.Phigs; /* connection identifier */ var WorkstnType = PWODSX; /* An OUTPUT, direct, single, Xwindow */ var TheLine = 1; /* structure ID (chosen by user) */ popen_phigs("stderr", 0); /* errors go to "stderr" */ popen_ws(WorkstnID, ConnID, WorkstnType); popen_struct(TheLine); rotacijaNosilca(); maliKoordinatniSistem(); izris_diagramov(); osne_sile(); pclose_struct(); ppost_struct(WorkstnID, TheLine, 1.0); pclose_ws(WorkstnID); pclose_phigs(); } //zspis v tocko function precne_z(){ for(var i=0; i n-1; i++){ var lineN=new Array; lineN[0]=new Ppoint(tocka[i].x, tocka[i].y); lineN[1]=new Ppoint(tockaxTz[i], tockayTz[i]); lineN[2]=new Ppoint(tockaxTz1[i+1], tockayTz1[i+1]); lineN[3]=new Ppoint(tocka[i+1].x, tocka[i+1].y); lineN[4]=new Ppoint(lineN[1].x, lineN[1].y); lineN[5]=new Ppoint(tocka[i].x, tocka[i].y); lineN[6]=new Ppoint(lineN[2].x, lineN[2].y); var sila_precna_z=new Ppoint_list(7, lineN); pset_line_colr_ind(3); pset_text_colr_ind(3); ptext(new Ppoint(tockaxTz[i]+0.04, tockayTz[i]+0.02), Tz[i]); ptext(new Ppoint(tockaxTz1[i+1]-0.04, tockayTz1[i+1]+0.02), Tz1[i+1]); ppolyline(sila_precna_z); } } //odpre phigs za izris diagramov function main_diagrami_precne_z() { var deg=Math.PI/180; var WorkstnID = 1; /* workstation identifier */ var ConnID = document.Phigs; /* connection identifier */ var WorkstnType = PWODSX; /* An OUTPUT, direct, single, Xwindow */ var TheLine = 1; /* structure ID (chosen by user) */ popen_phigs("stderr", 0); /* errors go to "stderr" */ popen_ws(WorkstnID, ConnID, WorkstnType); popen_struct(TheLine); maliKoordinatniSistem(); rotacijaNosilca(); izris_diagramov(); precne_z(); pclose_struct(); ppost_struct(WorkstnID, TheLine, 1.0); pclose_ws(WorkstnID); pclose_phigs(); } //zspis v tocko function precne_y(){ for(var i=0; i n-1; i++){ var lineN=new Array; lineN[0]=new Ppoint(tocka[i].x, tocka[i].y); lineN[1]=new Ppoint(tockaxTy[i], tockayTy[i]); lineN[2]=new Ppoint(tockaxTy1[i+1], tockayTy1[i+1]); lineN[3]=new Ppoint(tocka[i+1].x, tocka[i+1].y); lineN[4]=new Ppoint(lineN[1].x, lineN[1].y); lineN[5]=new Ppoint(tocka[i].x, tocka[i].y); lineN[6]=new Ppoint(lineN[2].x, lineN[2].y); var sila_precna_y=new Ppoint_list(7, lineN); pset_line_colr_ind(3); pset_text_colr_ind(3); ptext(new Ppoint(tockaxTy[i]+0.03, tockayTy[i]+0.02), Ty[i]); ptext(new Ppoint(tockaxTy1[i+1]-0.03, tockayTy1[i+1]+0.02), Ty1[i+1]); ppolyline(sila_precna_y); } } //odpre phigs za izris diagramov function main_diagrami_precne_y() { var deg=Math.PI/180; var WorkstnID = 1; /* workstation identifier */ var ConnID = document.Phigs; /* connection identifier */ var WorkstnType = PWODSX; /* An OUTPUT, direct, single, Xwindow */ var TheLine = 1; /* structure ID (chosen by user) */ popen_phigs("stderr", 0); /* errors go to "stderr" */ popen_ws(WorkstnID, ConnID, WorkstnType); popen_struct(TheLine); maliKoordinatniSistem(); rotacijaNosilca(); izris_diagramov(); precne_y(); pclose_struct(); ppost_struct(WorkstnID, TheLine, 1.0); pclose_ws(WorkstnID); pclose_phigs(); } //zspis v tocko function moment_x(){ for(var i=0; i n-1; i++){ var lineN=new Array; lineN[0]=new Ppoint(tocka[i].x, tocka[i].y); lineN[1]=new Ppoint(tockaxMx[i], tockayMx[i]); lineN[2]=new Ppoint(tockaxMx1[i+1], tockayMx1[i+1]); lineN[3]=new Ppoint(tocka[i+1].x, tocka[i+1].y); var moment_x=new Ppoint_list(4, lineN); pset_line_colr_ind(3); pset_text_colr_ind(3); ptext(new Ppoint(tockaxMx[i]+0.03, tockayMx[i]+0.02), Mox[i]); ptext(new Ppoint(tockaxMx1[i+1]-0.03, tockayMx1[i+1]+0.02), Mox1[i+1]); ppolyline(moment_x); } } //odpre phigs za izris diagramov function main_diagrami_moment_x() { var deg=Math.PI/180; var WorkstnID = 1; /* workstation identifier */ var ConnID = document.Phigs; /* connection identifier */ var WorkstnType = PWODSX; /* An OUTPUT, direct, single, Xwindow */ var TheLine = 1; /* structure ID (chosen by user) */ popen_phigs("stderr", 0); /* errors go to "stderr" */ popen_ws(WorkstnID, ConnID, WorkstnType); popen_struct(TheLine); maliKoordinatniSistem(); rotacijaNosilca(); izris_diagramov(); moment_x(); pclose_struct(); ppost_struct(WorkstnID, TheLine, 1.0); pclose_ws(WorkstnID); pclose_phigs(); } function moment_y(){ for(var i=0; i n-1; i++){ var lineN=new Array; lineN[0]=new Ppoint(tocka[i].x, tocka[i].y); lineN[1]=new Ppoint(tockaxMy[i], tockayMy[i]); lineN[2]=new Ppoint(tockaxMy1[i+1], tockayMy1[i+1]); lineN[3]=new Ppoint(tocka[i+1].x, tocka[i+1].y); var moment_y=new Ppoint_list(4, lineN); pset_line_colr_ind(3); pset_text_colr_ind(3); ptext(new Ppoint(tockaxMy[i]+0.03, tockayMy[i]+0.02), Moy[i]); ptext(new Ppoint(tockaxMy1[i+1]-0.03, tockayMy1[i+1]+0.02), Moy1[i+1]); ppolyline(moment_y); } } //odpre phigs za izris diagramov function main_diagrami_moment_y() { var deg=Math.PI/180; var WorkstnID = 1; /* workstation identifier */ var ConnID = document.Phigs; /* connection identifier */ var WorkstnType = PWODSX; /* An OUTPUT, direct, single, Xwindow */ var TheLine = 1; /* structure ID (chosen by user) */ popen_phigs("stderr", 0); /* errors go to "stderr" */ popen_ws(WorkstnID, ConnID, WorkstnType); popen_struct(TheLine); maliKoordinatniSistem(); rotacijaNosilca(); izris_diagramov(); moment_y(); pclose_struct(); ppost_struct(WorkstnID, TheLine, 1.0); pclose_ws(WorkstnID); pclose_phigs(); } function moment_z(){ for(var i=0; i n-1; i++){ var lineN=new Array; lineN[0]=new Ppoint(tocka[i].x, tocka[i].y); lineN[1]=new Ppoint(tockaxMz[i], tockayMz[i]); lineN[2]=new Ppoint(tockaxMz1[i+1], tockayMz1[i+1]); lineN[3]=new Ppoint(tocka[i+1].x, tocka[i+1].y); var moment_z=new Ppoint_list(4, lineN); pset_line_colr_ind(3); pset_text_colr_ind(3); ptext(new Ppoint(tockaxMz[i]+0.04, tockayMz[i]+0.02), Moz[i]); ptext(new Ppoint(tockaxMz1[i+1]-0.04, tockayMz1[i+1]+0.02), Moz1[i+1]); ppolyline(moment_z); } } //odpre phigs za izris diagramov function main_diagrami_moment_z() { var deg=Math.PI/180; var WorkstnID = 1; /* workstation identifier */ var ConnID = document.Phigs; /* connection identifier */ var WorkstnType = PWODSX; /* An OUTPUT, direct, single, Xwindow */ var TheLine = 1; /* structure ID (chosen by user) */ popen_phigs("stderr", 0); /* errors go to "stderr" */ popen_ws(WorkstnID, ConnID, WorkstnType); popen_struct(TheLine); maliKoordinatniSistem(); rotacijaNosilca(); izris_diagramov(); moment_z(); pclose_struct(); ppost_struct(WorkstnID, TheLine, 1.0); pclose_ws(WorkstnID); pclose_phigs(); } //izpis rezultatov v okno function zapisText() { okno = open("", "Rezultati", // novo okno "width=600,height=200,menubar=yes,scrollbars=yes"); okno.creator = self; okno.document.open("text/plain"); rez=okno.document rez.write("Rezultati izracuna:\n"); rez.write("Reakcije:\n"); if(b==1){ rez.write("Rezultati reakcij v podpori :\n\ Rfx="+rfx+"; Rfy="+rfy+"; Rfz="+rfz+";\n\ Rmx="+rmx+"; Rmy="+rmy+"; Rmz="+rmz+";\n"); }else{ rez.write("Rezultati reakcij v fiksni podpori :\n\ Rfx1="+rfx1a+"; Rfy1="+rfy1a+"; Rfz1="+rfz1a+";\n Rezultati reakcij v pomicni podpori :\n\ Rfx2="+rfx2b+"; Rfy2="+rfy2b+"; Rfz2="+rfz2b+";\n"); } rez.write("Notranje velicine:\n"); for (var r= 0 ; r< n ; r++) { rez.write("Tocka:("+a[r][0]+","+a[r][1]+","+a[r][2]+"); N1="+N1[r]+"; N="+N[r]+"; Ty1="+Ty1[r]+"; Ty="+Ty[r]+"; Tz1="+Tz1[r]+"; Tz="+Tz[r]+"; Mx1="+Mox1[r]+"; Mx="+Mox[r]+"; My1="+Moy1[r]+"; My="+Moy[r]+"; Mz1="+Moz1[r]+"; Mz="+Moz[r]+"\n") } okno.document.close(); }
Janez Benedicic