function napis(robot,slovo,m,r,fi,e,delka,pocetr); %m=[-100,250]; %pocatek psani %r=5; %velikost pismen %fi=0; %uhel natoceni pismen %e=3; %delka mezery mezi znaky n=[0,0]; %delka=200; %delka radky c=size(slovo); k2=0; soucstav=bbgetirc(robot); soucstav=fix(soucstav); bbmoveirc(robot,[soucstav(1),soucstav(2),-120000,0]); bbwaitforready(robot); if isempty(mojeikt(robot,m(1),m(2),0,0)) disp('Pocatecni bod lezi mimo pracovni oblast robota') return end pom=(transform(r*[0,0]+n,fi)+m); if isempty(mojeikt(robot,pom(1),pom(2),0,0)) disp('Napis jste umistil tak, ze cast pismene lezi mimo pracovni oblast robota '); return end pom=(transform(r*[0,10]+n,fi)+m); if isempty(mojeikt(robot,pom(1),pom(2),0,0)) disp('Napis jste umistil tak, ze cast pismene lezi mimo pracovni oblast robota '); return end pom=(transform(r*[6,0]+n,fi)+m); if isempty(mojeikt(robot,pom(1),pom(2),0,0)) disp('Napis jste umistil tak, ze cast pismene lezi mimo pracovni oblast robota '); return end pom=(transform(r*[6,10]+n,fi)+m); if isempty(mojeikt(robot,pom(1),pom(2),0,0)) disp('Napis jste umistil tak, ze cast pismene lezi mimo pracovni oblast robota '); return end for k=1:1:(2*c(2)) k=k-k2; if (n(1)+6*r)>delka n(1)=0; n(2)=n(2)-r*10-e; end if (n(2)<=pocetr*(-10*r-e)) disp ('Napis se uz nevejde do zadane oblasti, pripadne ohranicene oblastmi mimo pracovni prostor robota') return end pom=(transform(r*[0,0]+n,fi)+m); if ~isempty(mojeikt(robot,pom(1),pom(2),0,0)) pom=(transform(r*[0,10]+n,fi)+m); if ~isempty(mojeikt(robot,pom(1),pom(2),0,0)) pom=(transform(r*[6,0]+n,fi)+m); if ~isempty(mojeikt(robot,pom(1),pom(2),0,0)) pom=(transform(r*[6,10]+n,fi)+m); if ~isempty(mojeikt(robot,pom(1),pom(2),0,0)) switch slovo(k) case 'A' presunup(robot,transform(n,fi)+m); matice1=primka2(robot,transform(n,fi)+m,transform(r*[3,10]+n,fi)+m); matice2=primka2(robot,transform(r*[3,10]+n,fi)+m,transform(r*[6,0]+n,fi)+m); nahoru(robot); presunup(robot,transform(r*[0.9,3]+n,fi)+m); matice3=primka2(robot,transform(r*[0.9,3]+n,fi)+m,transform(r*[5.1,3]+n,fi)+m); n=n+r*[6,0]; nahoru(robot); case 'B' presunup(robot,transform(r*[0,0]+n,fi)+m); matice1=primka2(robot,transform(r*[0,0]+n,fi)+m,transform(r*[0,10]+n,fi)+m); matice2=primka2(robot,transform(r*[0,10]+n,fi)+m,transform(r*[3,10]+n,fi)+m); matice3=oblouk(robot,r*2.25,transform(r*[3,7.75]+n,fi)+m,[90,-90]+fi,-1); matice4=primka2(robot,transform(r*[3,5.5]+n,fi)+m,transform(r*[0,5.5]+n,fi)+m); matice5=primka2(robot,transform(r*[0,5.5]+n,fi)+m,transform(r*[3,5.5]+n,fi)+m); matice6=oblouk(robot,r*2.75,transform(r*[3,2.75]+n,fi)+m,[90,-90]+fi,-1); matice7=primka2(robot,transform(r*[3,0]+n,fi)+m,transform(n,fi)+m); n=n+r*[5.75,0]; nahoru(robot); case 'O' presunup(robot,transform(r*[6,7]+n,fi)+m); matice1=oblouk(robot,r*3,transform(r*[3,7]+n,fi)+m,[0,180]+fi,1); matice2=primka2(robot,transform(r*[0,7]+n,fi)+m,transform(r*[0,3]+n,fi)+m); matice3=oblouk(robot,r*3,transform(r*[3,3]+n,fi)+m,[180,360]+fi,1); matice4=primka2(robot,transform(r*[6,3]+n,fi)+m,transform(r*[6,7]+n,fi)+m); n=n+r*[6,0]; nahoru(robot); case 'S' presunup(robot,transform(r*[4.75,9]+n,fi)+m); matice1=primka2(robot,transform(r*[4.75,9]+n,fi)+m,transform(r*[4,9.5]+n,fi)+m); matice2=oblouk(robot,r*2.5,transform(r*[2.5,7.5]+n,fi)+m,[53.1,270]+fi,1); matice3=oblouk(robot,r*2.5,transform(r*[2.5,2.5]+n,fi)+m,[90,216.9]+fi,-1); matice4=primka2(robot,transform(r*[1,0.5]+n,fi)+m,transform(r*[0.25,1]+n,fi)+m); n=n+r*[5,0]; nahoru(robot); case 'C' presunup(robot,transform(r*[5,10]+n,fi)+m); matice1=primka2(robot,transform(r*[5,10]+n,fi)+m,transform(r*[2,10]+n,fi)+m); matice2=oblouk(robot,r*2,transform(r*[2,8]+n,fi)+m,[90,180]+fi,1); matice3=primka2(robot,transform(r*[0,8]+n,fi)+m,transform(r*[0,2]+n,fi)+m); matice4=oblouk(robot,r*2,transform(r*[2,2]+n,fi)+m,[180,270]+fi,1); matice5=primka2(robot,transform(r*[2,0]+n,fi)+m,transform(r*[5,0]+n,fi)+m); n=n+r*[5,0]; nahoru(robot); case 'H' presunup(robot,transform(r*[0,10]+n,fi)+m); matice1=primka2(robot,transform(r*[0,10]+n,fi)+m,transform(r*[0,0]+n,fi)+m); nahoru(robot); presunup(robot,transform(r*[0,5.5]+n,fi)+m); matice2=primka2(robot,transform(r*[0,5.5]+n,fi)+m,transform(r*[5,5.5]+n,fi)+m); nahoru(robot); presunup(robot,transform(r*[5,10]+n,fi)+m); matice3=primka2(robot,transform(r*[5,10]+n,fi)+m,transform(r*[5,0]+n,fi)+m); n=n+r*[5,0]; nahoru(robot); case 'I' presunup(robot,transform(r*[0,10]+n,fi)+m); matice1=primka2(robot,transform(r*[0,10]+n,fi)+m,transform(r*[0,0]+n,fi)+m); n=n+r*[1,0]; nahoru(robot); case 'L' presunup(robot,transform(r*[0,10]+n,fi)+m); matice1=primka2(robot,transform(r*[0,10]+n,fi)+m,transform(r*[0,0]+n,fi)+m); matice2=primka2(robot,transform(r*[0,0]+n,fi)+m,transform(r*[5,0]+n,fi)+m); n=n+r*[5,0]; nahoru(robot); case 'E' presunup(robot,transform(r*[0,10]+n,fi)+m); matice1=primka2(robot,transform(r*[0,10]+n,fi)+m,transform(r*[0,0]+n,fi)+m); nahoru(robot); presunup(robot,transform(r*[0,10]+n,fi)+m); matice2=primka2(robot,transform(r*[0,10]+n,fi)+m,transform(r*[5,10]+n,fi)+m); nahoru(robot); presunup(robot,transform(r*[0,5.5]+n,fi)+m); matice3=primka2(robot,transform(r*[0,5.5]+n,fi)+m,transform(r*[4,5.5]+n,fi)+m); nahoru(robot); presunup(robot,transform(r*[0,0]+n,fi)+m); matice4=primka2(robot,transform(r*[0,0]+n,fi)+m,transform(r*[5,0]+n,fi)+m); n=n+r*[5,0]; nahoru(robot); case 'P' presunup(robot,transform(r*[0,0]+n,fi)+m); matice1=primka2(robot,transform(r*[0,0]+n,fi)+m,transform(r*[0,10]+n,fi)+m); matice2=primka2(robot,transform(r*[0,10]+n,fi)+m,transform(r*[3,10]+n,fi)+m); matice3=oblouk(robot,r*2.75,transform(r*[3,7.25]+n,fi)+m,[90,270]+fi,-1); matice4=primka2(robot,transform(r*[3,4.5]+n,fi)+m,transform(r*[0,4.5]+n,fi)+m); n=n+r*[6,0]; nahoru(robot); case 'R' presunup(robot,transform(r*[0,0]+n,fi)+m); matice1=primka2(robot,transform(r*[0,0]+n,fi)+m,transform(r*[0,10]+n,fi)+m); matice2=primka2(robot,transform(r*[0,10]+n,fi)+m,transform(r*[3,10]+n,fi)+m); matice3=oblouk(robot,r*2.75,transform(r*[3,7.25]+n,fi)+m,[90,270]+fi,-1); matice4=primka2(robot,transform(r*[3,4.5]+n,fi)+m,transform(r*[0,4.5]+n,fi)+m); nahoru(robot); presunup(robot,transform(r*[3.5,4.5]+n,fi)+m); matice5=primka2(robot,transform(r*[3.5,4.5]+n,fi)+m,transform(r*[5.5,0]+n,fi)+m); n=n+r*[6,0]; nahoru(robot); case 'F' presunup(robot,transform(r*[0,0]+n,fi)+m); matice1=primka2(robot,transform(r*[0,0]+n,fi)+m,transform(r*[0,10]+n,fi)+m); matice2=primka2(robot,transform(r*[0,10]+n,fi)+m,transform(r*[5,10]+n,fi)+m); nahoru(robot); presunup(robot,transform(r*[0,5.5]+n,fi)+m); matice3=primka2(robot,transform(r*[0,5.5]+n,fi)+m,transform(r*[4,5.5]+n,fi)+m); n=n+r*[5,0]; nahoru(robot); end n=n+[e,0]; if (k2+c(2))