// FESZÜLTÉSI ÁLLAPOT ÉS FESZÜLTSÉGI FŐIRÁNYOK SZEMLÉLTETÉSE // 20171027 - FLB // clear;clc; //░░░ADATOK MEGADÁSA: ░░░░░░ szog=30*%pi/180; //░░░Adj meg három egymásra merőleges irányegységvektort sormátrixxal: e=[cos(szog) sin(szog) 0]; //módosítható m=[-sin(szog) cos(szog) 0]; //módosítható n=[0 0 1]; //módosítható //░░░ vagy így add meg őket (és töröld a // jelet a változók elől!!): //e=[0.6330222215594891 0.7401592884466748 0.2268195201873093]; //m=[-0.11161889704894966 0.37720325336774463 -0.9193796427321876]; //n=[-0.766044443118978 0.5566703992264194 0.32139380484326974]; // zer=[0 0 0]; //ne módosítsd xvec=[e(1) m(1) n(1)];//ne módosítsd yvec=[e(2) m(2) n(2)];//ne módosítsd zvec=[e(3) m(3) n(3)];//ne módosítsd // //░░░Adj meg egy feszültségi tenzort: F=[ -10 12 -5; 12 2 10; -5 10 30]; //módosítható //░░░Számolás rész(ne módosítsd!)░░░░░░░░ szigx=F(1,1); szigy=F(2,2); szigz=F(3,3); tauxy=F(1,2); tauxz=F(1,3); tauyz=F(2,3); /// T=[e' m' n']; // transzformációs mátrix, elforgatja az egység kockát a megadott enm KR-be /// if tauxy<0 then q4=-1 else q4=1 end if tauxz<0 then q5=-1 else q5=1 end if tauyz<0 then q6=-1 else q6=1 end /// fx1=[0.5 0 0]; fx2=[1.5 0 0];//szigmax fx3=[0.5 -0.4 0]; fx4=[0.5 0.4 0];//tauyx fx5=[0.5 0 -0.4]; fx6=[0.5 0 0.4];//tauzx fy1=[0 0.5 0]; fy2=[0 1.5 0];//szigmay fy3=[-0.4 0.5 0]; fy4=[0.4 0.5 0];//tauxy fy5=[0 0.5 -0.4]; fy6=[0 0.5 0.4];//tauzy fz1=[0 0 0.5]; fz2=[0 0 1.5];//szigmaz fz3=[-0.4 0 0.5]; fz4=[0.4 0 0.5];//tauxz fz5=[0 -0.4 0.5]; fz6=[0 0.4 0.5];//tauyz // fx1t=T*fx1';fx2t=T*fx2';//szigmae fx3t=T*fx3';fx4t=T*fx4';//taume fx5t=T*fx5';fx6t=T*fx6';//taune fy1t=T*fy1';fy2t=T*fy2';//szigmam fy3t=T*fy3';fy4t=T*fy4';//tauem fy5t=T*fy5';fy6t=T*fy6';//taunm fz1t=T*fz1';fz2t=T*fz2';//szigman fz3t=T*fz3';fz4t=T*fz4';//tauen fz5t=T*fz5';fz6t=T*fz6';//taumn /// if szigx<0 then fx11=[1.5 0 0], fx22=[0.5 0 0] else fx11=fx1,fx22=fx2 end if szigy<0 then fy11=[0 1.5 0], fy22=[0 0.5 0] else fy11=fy1,fy22=fy2 end if szigz<0 then fz11=[0 0 1.5], fz22=[0 0 0.5] else fz11=fz1,fz22=fz2 end /// rox=F*[1;0;0];//rox feszültségvektor roy=F*[0;1;0];//roy feszültségvektor roz=F*[0;0;1];//roz feszültségvektor // normrox=rox/norm(rox);//1-re normált rox normroy=roy/norm(roy);//1-re normált roy normroz=roz/norm(roz);//1-re normált roz //░░░░ Feszültségvektorok meghatározása az emn KR-ben roe=F*e';//roe feszültségvektor rom=F*m';//rom feszültségvektor ron=F*n';//ron feszültségvektor normroe=roe/norm(roe);//1-re normált roe normrom=rom/norm(rom);//1-re normált rom normron=ron/norm(ron);//1-re normált ron // szige=roe'*e'; szigm=rom'*m'; szign=ron'*n'; tauem=roe'*m'; tauen=roe'*n'; taumn=rom'*n'; // if tauem<0 then fx3t=T*fx4',fx4t=T*fx3',fy3t=T*fy4',fy4t=T*fy3', else fx3t=T*fx3' , fx4t=T*fx4',fy3t=T*fy3';fy4t=T*fy4' end if tauen<0 then fx5t=T*fx6',fx6t=T*fx5',fz3t=T*fz4',fz4t=T*fz3' else fx5t=T*fx5',fx6t=T*fx6',fz3t=T*fz3',fz4t=T*fz4' end if taumn<0 then fy5t=T*fy6',fy6t=T*fy5',fz5t=T*fz6',fz6t=T*fz5' else fy5t=T*fy5',fy6t=T*fy6',fz5t=T*fz5',fz6t=T*fz6' end // if szige<0 then fx2t=T*fx1' , fx1t=T*fx2' else fx1t=T*fx1' , fx2t=T*fx2' end if szigm<0 then fy2t=T*fy1' , fy1t=T*fy2' else fy1t=T*fy1' , fy2t=T*fy2' end if szign<0 then fz2t=T*fz1' , fz1t=T*fz2' else fz1t=T*fz1' , fz2t=T*fz2' end /// //░░░░xyz tengely ábrázolása: Xegy=[0 2 ;0 0 ;0 0]; Yegy=[0 0 ;0 2 ;0 0]; Zegy=[0 0 ;0 0 ;0 2]; //░░░ kocka ábrázolása: // kocka sarok pontjainak koordinátái: p1=[-0.5 0.5 -0.5];p2=[-0.5 -0.5 -0.5];p3=[0.5 -0.5 -0.5];p4=[0.5 0.5 -0.5];p5=[-0.5 0.5 -0.5]; p6=[-0.5 0.5 0.5];p7=[-0.5 -0.5 0.5];p8=[0.5 -0.5 0.5];p9=[0.5 0.5 0.5];p10=[-0.5 0.5 0.5]; x1=[p1(1) p2(1) p3(1) p4(1) p5(1); p6(1) p7(1) p8(1) p9(1) p10(1)]; y1=[p1(2) p2(2) p3(2) p4(2) p5(2); p6(2) p7(2) p8(2) p9(2) p10(2)]; z1=[p1(3) p2(3) p3(3) p4(3) p5(3); p6(3) p7(3) p8(3) p9(3) p10(3)]; // transzformáció után a kocka sarokpontjainak helye: p1t=T*p1'; p2t=T*p2'; p3t=T*p3'; p4t=T*p4'; p5t=T*p5'; p6t=T*p6'; p7t=T*p7'; p8t=T*p8'; p9t=T*p9'; p10t=T*p10'; // x2=[p1t(1) p2t(1) p3t(1) p4t(1) p5t(1); p6t(1) p7t(1) p8t(1) p9t(1) p10t(1)]; y2=[p1t(2) p2t(2) p3t(2) p4t(2) p5t(2); p6t(2) p7t(2) p8t(2) p9t(2) p10t(2)]; z2=[p1t(3) p2t(3) p3t(3) p4t(3) p5t(3); p6t(3) p7t(3) p8t(3) p9t(3) p10t(3)]; //░░░ ÁBRÁZOLÁS: ░░░░░░ fig1=scf(2); fig1.figure_size=[1500,1000]; // figure ablak mérete fig1.figure_position=[0 0]; // figure ablak pozicioja title('Feszültségi állapot ábározlása elemi kockán az xyz KR-ben','fontsize',5) gce().font_size = 3; subplot(1,2,1) plot3d3(x1, y1, z1); //eredeti xyz KR-ben ábrázolt kocka xarrows([zer;xvec],[zer;yvec],[zer;zvec],2,1);//enm egységvektorok param3d(Xegy(1,:),Xegy(2,:),Xegy(3,:));//xtengely param3d(Yegy(1,:),Yegy(2,:),Yegy(3,:));//ytengely param3d(Zegy(1,:),Zegy(2,:),Zegy(3,:));//ztengely /// /// xarrows([fx11(1);fx22(1)],[fx11(2);fx22(2)],[fx11(3);fx22(3)],2,5); xarrows([fx3(1);fx4(1)],[q4*fx3(2);q4*fx4(2)],[fx3(3);fx4(3)],2,5); xarrows([fx5(1);fx6(1)],[fx5(2);fx6(2)],[q5*fx5(3);q5*fx6(3)],2,5); /// xarrows([fy11(1);fy22(1)],[fy11(2);fy22(2)],[fy11(3);fy22(3)],2,5); xarrows([q4*fy3(1);q4*fy4(1)],[fy3(2);fy4(2)],[fy3(3);fy4(3)],2,5); xarrows([fy5(1);fy6(1)],[fy5(2);fy6(2)],[q6*fy5(3);q6*fy6(3)],2,5); /// xarrows([fz11(1);fz22(1)],[fz11(2);fz22(2)],[fz11(3);fz22(3)],2,5); xarrows([q5*fz3(1);q5*fz4(1)],[fz3(2);fz4(2)],[fz3(3);fz4(3)],2,5); xarrows([fz5(1);fz6(1)],[q6*fz5(2);q6*fz6(2)],[fz5(3);fz6(3)],2,5); /// // x normálisú felületen fellépő feszültség koordináta értékek kiiratása: xnumb(1.5,0.1,[abs(szigx)]); xnumb(0.6,0.4,[abs(tauxy)]); xnumb(0.6,0,[abs(tauxz)]); f=gce(); //felirat eltolás z tengellyel párhuzamosan f.data(3)=0.4;// felirat eltolás z tengellyel párhuzamosan //// // y normálisú felületen fellépő feszültség koordináta értékek kiiratása: xnumb(0.1,1.5,[abs(szigy)]); xnumb(0.5,0.5,[abs(tauxy)]); xnumb(0,0.5,[abs(tauyz)]); f=gce(); //felirat eltolás z tengellyel párhuzamosan f.data(3)=0.4;// felirat eltolás z tengellyel párhuzamosan /// // z normálisú felületen fellépő feszültség koordináta értékek kiiratása: xnumb(0,0,[abs(szigz)]); f=gce(); //felirat eltolás z tengellyel párhuzamosan f.data(3)=1.5;// felirat eltolás z tengellyel párhuzamosan xnumb(0.4,0,[abs(tauxz)]); f=gce(); //felirat eltolás z tengellyel párhuzamosan f.data(3)=0.5;// felirat eltolás z tengellyel párhuzamosan xnumb(0,0.4,[abs(tauyz)]); f=gce(); //felirat eltolás z tengellyel párhuzamosan f.data(3)=0.5;// felirat eltolás z tengellyel párhuzamosan ///// //rox,roy,roz feszültség vektorok ábrázolása: xarrows([0.5;0.5+normrox(1)],[0;normrox(2)],[0;normrox(3)],2,2); xarrows([0;normroy(1)],[0.5;0.5+normroy(2)],[0;normroy(3)],2,2); xarrows([0;normroz(1)],[0;normroz(2)],[0.5;0.5+normroz(3)],2,2); /// ///░░░░░░░░░░░░░░░░░░░░░░░░░░░ subplot(1,2,2) title('emn KR-ben','fontsize',5) gce().font_size = 3; plot3d3(x2, y2, z2); //transzformáció után az enm KR-en ábrázolt kocka param3d(Xegy(1,:),Xegy(2,:),Xegy(3,:));//xtengely param3d(Yegy(1,:),Yegy(2,:),Yegy(3,:));//ytengely param3d(Zegy(1,:),Zegy(2,:),Zegy(3,:));//ztengely xarrows([zer;xvec],[zer;yvec],[zer;zvec],2,1); // enm egységvektorok ábrázolása /// /// xarrows([fx1t(1);fx2t(1)],[fx1t(2);fx2t(2)],[fx1t(3);fx2t(3)],2,5); xarrows([fx3t(1);fx4t(1)],[fx3t(2);fx4t(2)],[fx3t(3);fx4t(3)],2,5); xarrows([fx5t(1);fx6t(1)],[fx5t(2);fx6t(2)],[fx5t(3);fx6t(3)],2,5); /// xarrows([fy1t(1);fy2t(1)],[fy1t(2);fy2t(2)],[fy1t(3);fy2t(3)],2,5); xarrows([fy3t(1);fy4t(1)],[fy3t(2);fy4t(2)],[fy3t(3);fy4t(3)],2,5); xarrows([fy5t(1);fy6t(1)],[fy5t(2);fy6t(2)],[fy5t(3);fy6t(3)],2,5); /// xarrows([fz1t(1);fz2t(1)],[fz1t(2);fz2t(2)],[fz1t(3);fz2t(3)],2,5); xarrows([fz3t(1);fz4t(1)],[fz3t(2);fz4t(2)],[fz3t(3);fz4t(3)],2,5); xarrows([fz5t(1);fz6t(1)],[fz5t(2);fz6t(2)],[fz5t(3);fz6t(3)],2,5); /// //roe,rom,ron feszültség vektorok ábrázolása: xarrows([(T*fx1')(1);(T*fx1')(1)+normroe(1)],[(T*fx1')(2);(T*fx1')(2)+normroe(2)],[(T*fx1')(3);(T*fx1')(3)+normroe(3)],2,2); xarrows([(T*fy1')(1);(T*fy1')(1)+normrom(1)],[(T*fy1')(2);(T*fy1')(2)+normrom(2)],[(T*fy1')(3);(T*fy1')(3)+normrom(3)],2,2); xarrows([(T*fz1')(1);(T*fz1')(1)+normron(1)],[(T*fz1')(2);(T*fz1')(2)+normron(2)],[(T*fz1')(3);(T*fz1')(3)+normron(3)],2,2); /// // e normálisú felületen fellépő feszültség koordináta értékek kiiratása: xnumb(fx2t(1),fx2t(2),[abs(szige)]); f=gce(); f.data(3)=fx2t(3); xnumb(fx3t(1),fx3t(2),[abs(tauem)]); f=gce(); f.data(3)=fx3t(3); xnumb(fx5t(1),fx5t(2),[abs(tauen)]); f=gce(); f.data(3)=fx5t(3); // xnumb(fy2t(1),fy2t(2),[abs(szigm)]); f=gce(); f.data(3)=fy2t(3); xnumb(fy3t(1),fy3t(2),[abs(tauem)]); f=gce(); f.data(3)=fy3t(3); xnumb(fy5t(1),fy5t(2),[abs(taumn)]); f=gce(); f.data(3)=fy5t(3); // xnumb(fz2t(1),fz2t(2),[abs(szign)]); f=gce(); f.data(3)=fz2t(3); xnumb(fz3t(1),fz3t(2),[abs(tauen)]); f=gce(); f.data(3)=fz3t(3); xnumb(fz5t(1),fz5t(2),[abs(taumn)]); f=gce(); f.data(3)=fz5t(3); // emn feliratok ábrázolása: xstring(m(1),m(2),["m"]); f=gce(); //felirat eltolás z tengellyel párhuzamosan f.data(3)=m(3);// felirat eltolás z tengellyel párhuzamosan gce().font_size = 6; // xstring(n(1),n(2),["n"]); f=gce(); //felirat eltolás z tengellyel párhuzamosan f.data(3)=n(3);// felirat eltolás z tengellyel párhuzamosan gce().font_size = 6; // xstring(e(1),e(2),["e"]); f=gce(); //felirat eltolás z tengellyel párhuzamosan f.data(3)=e(3);// felirat eltolás z tengellyel párhuzamosan gce().font_size = 6; /// ///░░░░░░░░░░░░░░░░░░░░░░░░░░░ fig2=scf(3); fig2.figure_size=[1500,1000]; // figure ablak mérete fig2.figure_position=[0 0]; // figure ablak pozicioja title('Feszültségi állapot ábározlása elemi kockán a feszültségi főirányok e1e2e3 KR-ében','fontsize',5) /// [feszfoirany,fofesz]= spec(F) // feszfoirany1=feszfoirany(:,3); feszfoirany2=feszfoirany(:,2); feszfoirany3=feszfoirany(:,1); fofesz1=fofesz(3,3); fofesz2=fofesz(2,2); fofesz3=fofesz(1,1); /// // transzformációs mátrix: Tfo=[feszfoirany1 feszfoirany2 feszfoirany3]; // kocka sarokpontjainak koordinátái az e1e2e3 feszültségi főirányok KR-ében: p1tfo=Tfo*p1'; p2tfo=Tfo*p2'; p3tfo=Tfo*p3'; p4tfo=Tfo*p4'; p5tfo=Tfo*p5'; p6tfo=Tfo*p6'; p7tfo=Tfo*p7'; p8tfo=Tfo*p8'; p9tfo=Tfo*p9'; p10tfo=Tfo*p10'; // x2fo=[p1tfo(1) p2tfo(1) p3tfo(1) p4tfo(1) p5tfo(1); p6tfo(1) p7tfo(1) p8tfo(1) p9tfo(1) p10tfo(1)]; y2fo=[p1tfo(2) p2tfo(2) p3tfo(2) p4tfo(2) p5tfo(2); p6tfo(2) p7tfo(2) p8tfo(2) p9tfo(2) p10tfo(2)]; z2fo=[p1tfo(3) p2tfo(3) p3tfo(3) p4tfo(3) p5tfo(3); p6tfo(3) p7tfo(3) p8tfo(3) p9tfo(3) p10tfo(3)]; // plot3d3(x2fo, y2fo, z2fo); //transzformáció után az e1e2e3 KR-en ábrázolt kocka /// param3d(Xegy(1,:),Xegy(2,:),Xegy(3,:));//xtengely param3d(Yegy(1,:),Yegy(2,:),Yegy(3,:));//ytengely param3d(Zegy(1,:),Zegy(2,:),Zegy(3,:));//ztengely // e1vec=[feszfoirany1(1) feszfoirany2(1) feszfoirany3(1)]; e2vec=[feszfoirany1(2) feszfoirany2(2) feszfoirany3(2)]; e3vec=[feszfoirany1(3) feszfoirany2(3) feszfoirany3(3)]; // xarrows([zer;e1vec],[zer;e2vec],[zer;e3vec],2,1); // e1e2e3 egységvektorok ábrázolása /// // e1e2e3 feliratok ábrázolása: xstring(feszfoirany1(1),feszfoirany1(2),["e1"]); f=gce(); f.data(3)=feszfoirany1(3); gce().font_size = 6; // xstring(feszfoirany2(1),feszfoirany2(2),["e2"]); f=gce(); f.data(3)=feszfoirany2(3); gce().font_size = 6; // xstring(feszfoirany3(1),feszfoirany3(2),["e3"]); f=gce(); f.data(3)=feszfoirany3(3); gce().font_size = 6; /// fx1fo=[0.5 0 0]; fx2fo=[1.5 0 0];//szigmax fy1fo=[0 0.5 0]; fy2fo=[0 1.5 0];//szigmay fz1fo=[0 0 0.5]; fz2fo=[0 0 1.5];//szigmaz /// if fofesz1<0 then fx2fot=Tfo*fx1fo' , fx1fot=Tfo*fx2fo' else fx1fot=Tfo*fx1fo' , fx2fot=Tfo*fx2fo' end if fofesz2<0 then fy2fot=Tfo*fy1fo' , fy1fot=Tfo*fy2fo' else fy1fot=Tfo*fy1fo' , fy2fot=Tfo*fy2fo' end if fofesz3<0 then fz2fot=Tfo*fz1fo' , fz1fot=Tfo*fz2fo' else fz1fot=Tfo*fz1fo' , fz2fot=Tfo*fz2fo' end /// xarrows([fx1fot(1);fx2fot(1)],[fx1fot(2);fx2fot(2)],[fx1fot(3);fx2fot(3)],2,5); xarrows([fy1fot(1);fy2fot(1)],[fy1fot(2);fy2fot(2)],[fy1fot(3);fy2fot(3)],2,5); xarrows([fz1fot(1);fz2fot(1)],[fz1fot(2);fz2fot(2)],[fz1fot(3);fz2fot(3)],2,5); /// xnumb(fx2fot(1),fx2fot(2),[abs(fofesz1)]); f=gce(); f.data(3)=fx2fot(3); gce().font_size = 4; xnumb(fy2fot(1),fy2fot(2),[abs(fofesz2)]); f=gce(); f.data(3)=fy2fot(3); gce().font_size = 4; xnumb(fz2fot(1),fz2fot(2),[abs(fofesz3)]); f=gce(); f.data(3)=fz2fot(3); gce().font_size = 4; /// ///////////////////////// aa = gca(); aa.isoview = 'on'; //a.axes_visible="off"; //a.rotation_angles=[110 180] //a.data_bounds=[-2,-2,-2;2,2,2]; /// // feszültségi főirányok kiiratása a console ablakra: feszfoirany1 feszfoirany2 feszfoirany3