Facebook
From enchante, 1 Year ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 244
  1. 1. zadatak - izvrsi rotaciju trougla naredbom rotate i kretanje anredbom set
  2.  
  3. close all
  4. clear all
  5. clc
  6. x1=[6 8 7 ]
  7. y1=[3 3 2]
  8. trougao=patch(x1,y1,'r')
  9. x11=x1
  10. y11=y1
  11. axis([3 8 -1 3])
  12. for i=1:30
  13.     x11=x11-0.1
  14.     y11=y11;
  15.     set(trougao,'x',x11,'y',y11)
  16.     pause(3/30)
  17. end
  18.  
  19. a=x11+1
  20. b=y11-0.5
  21. for i=1:30
  22.     x11=x11+0.1
  23.     y11=y11-0.1;
  24.   set(trougao,'x',x11,'y',y11)
  25.     pause(3/30)
  26.    
  27. end
  28.  
  29. for i=1:30
  30.          rotate(trougao,[0 0 1],6,[7,-0.5,0])
  31.          pause (0.1)
  32. end
  33.  
  34. x11=[6 8 7]
  35. y11=[-1 -1 0]
  36. for i=1:30
  37.     x11=x11-0.1
  38.     y11=y11;
  39.     set(trougao,'x',x11,'y',y11)
  40.     pause(2/30)
  41. end
  42. for i=1:30
  43.     x11=x11+0.1
  44.     y11=y11+0.1;
  45.     set(trougao,'x',x11,'y',y11)
  46.     pause(2/30)
  47. end
  48.  
  49. for i=1:30
  50.       rotate(trougao,[0 0 1],6,[7,2.5,0])
  51.       pause (1/30)
  52. end
  53.  
  54. 2. zadatak - Kazaljka se krece oko centra kruga brzinom 2 sekunde po krugu, i crvene je boje
  55.  
  56. r = 0:0.1:2*pi;
  57. x = sin(r)+5;
  58. y = cos(r)+5;
  59.  
  60. patch(x,y,'yellow')
  61. x = [5 5 6 6];
  62. y = [4.9 5.1 5.1 4.9];
  63. kazaljka = patch(x,y,'red');
  64.  
  65. x1 = x;
  66. y1 = y;
  67. smjer = [0 0 1];
  68.  
  69. pause
  70. for i=1:180
  71.     rotate(kazaljka,smjer,-6)
  72.     pause(1/30)
  73. end
  74.  
  75. 3. zadatak - nacrtati 4- sranu piramidu visine 4 cm i osnovice 3
  76.  
  77. clear all
  78. close all
  79.  
  80. a=3;
  81. h=4;
  82. P=a^2 + 2*a*h;
  83. V=a^2*h./3;
  84.  
  85. fprintf('Povrsina je:');
  86. disp(P);
  87. fprintf('Zapremina je:');
  88. disp(V);
  89.  
  90. x = [0 3 3 0];
  91. y = [0 0 3 3];
  92. z = [0 0 0 0];
  93. patch(x,y,z,'y');
  94. grid on;
  95. axis([-2 5 -2 5]);
  96. xlabel('x-osa');
  97. ylabel('y-osa');
  98. zlabel('z-osa');
  99.  
  100. x = [0 3 1.5];
  101. y = [0 0 1.5];
  102. z = [0 0 4];
  103. patch(x,y,z,'r');
  104. grid on;
  105. axis([-2 5 -2 5]);
  106. xlabel('x-osa');
  107. ylabel('y-osa');
  108. zlabel('z-osa');
  109.  
  110. x = [0 0 1.5]
  111. y = [0 3 1.5];
  112. z = [0 0 4];
  113. patch(x,y,z,'g');
  114. grid on;
  115. axis([-2 5 -2 5]);
  116. xlabel('x-osa');
  117. ylabel('y-osa');
  118. zlabel('z-osa');
  119.  
  120. x = [0 3 1.5];
  121. y = [3 3 1.5];
  122. z = [0 0 4];
  123. patch(x,y,z,'b');
  124. grid on;
  125. axis([-2 5 -2 5]);
  126. xlabel('x-osa');
  127. ylabel('y-osa');
  128. zlabel('z-osa');
  129.  
  130. x = [3 3 1.5];
  131. y = [0 3 1.5];
  132. z = [0 0 4];
  133. patch(x,y,z,'m');
  134. grid on;
  135. axis([-2 5 -2 5]);
  136. xlabel('x-osa');
  137. ylabel('y-osa');
  138. zlabel('z-osa');
  139.  
  140. 4. zadatak - semafor - crvenno 50, zuto 5, zeleno 50 , nakon toga zeleno trepce 3 puta po 5 sekundi pa se pali zuto i onda crveno
  141.  
  142. t = 0:0.1:2*pi;
  143. x_background = [-2 2 2 -2];
  144. y_background = [-8 -8 2 2];
  145.  
  146. figure;
  147. patch(x_background, y_background, 'k');
  148. axis([-10 10 -10 10]);
  149. hold on;
  150.  
  151. while true
  152.     % Crvena boja svijetli 50 sekundi
  153.     crveno = patch(sin(t), cos(t), 'red');
  154.     pause(5);  % 50 sekundi
  155.  
  156.     % Zatim žuta boja svijetli 5 sekundi
  157.     delete(crveno);
  158.     zuto = patch(sin(t), cos(t) - 3, 'yellow');
  159.     pause(2);  % 5 sekundi
  160.  
  161.     % Zelena boja svijetli 50 sekundi
  162.     delete(zuto);
  163.     zeleno = patch(sin(t), cos(t) - 6, 'green');
  164.     pause(5);  % 50 sekundi
  165.  
  166.     % Treptanje tri puta po 5 sekundi
  167.     for i = 1:3
  168.         delete(zeleno);
  169.         pause(0.5);  % 0.5 sekundi
  170.         zeleno = patch(sin(t), cos(t) - 6, 'green');
  171.         pause(0.5);  % 0.5 sekundi
  172.     end
  173.  
  174.     % Nakon treptanja, žuto pa crveno svjetlo
  175.     delete(zeleno);
  176.     zuto = patch(sin(t), cos(t) - 3, 'yellow');
  177.     pause(2);  % 5 sekundi
  178.     delete(zuto);
  179.     crveno = patch(sin(t), cos(t), 'red');
  180.     pause(50);  % 50 sekundi
  181. end
  182.  
  183. 5. zadatak - dva semafora (pjesaci i automobili)
  184.  
  185. % Definisanje kutije semafora
  186. x1 = [-1.2 1.2 1.2 -1.2]; % X koordinate kutije semafora
  187. y1 = [-6.2 -6.2 1.2 1.2]; % Y koordinate kutije semafora
  188. vsemafor = patch(x1, y1, 'black'); % Kreiranje kvadratnog oblika za kutiju semafora i bojanje u crno
  189. hold on % Zadržavanje trenutnog grafa
  190.  
  191. % Definisanje krugova za svjetla
  192. t = (0:1/360:1)'*2*pi; % Generisanje uglova za kružne oblike
  193. x = sin(t); % X koordinate krugova (sinusna funkcija)
  194. y = cos(t); % Y koordinate krugova (kosinusna funkcija)
  195. crveno = fill(x, y, 'black'); % Kreiranje crvenog svjetla i bojanje u crno
  196. hold on % Zadržavanje trenutnog grafa
  197. zuto = fill(x, y-2.5, 'black'); % Kreiranje žutog svjetla i bojanje u crno (pomjereno za 2.5 dolje)
  198. hold on % Zadržavanje trenutnog grafa
  199. zeleno = fill(x, y-5, 'black'); % Kreiranje zelenog svjetla i bojanje u crno (pomjereno za 5 dolje)
  200. hold on % Zadržavanje trenutnog grafa
  201. axis([-2 5 -7 2]) % Postavljanje granica osi
  202.  
  203. % Definisanje kutije drugog semafora
  204. x2 = [2.3 4.5 4.5 2.3]; % X koordinate kutije drugog semafora
  205. y2 = [-6.2 -6.2 -2.5 -2.5]; % Y koordinate kutije drugog semafora
  206. msemafor = patch(x2, y2, 'black'); % Kreiranje kvadratnog oblika za kutiju drugog semafora i bojanje u crno
  207. hold on % Zadržavanje trenutnog grafa
  208. x3 = 0.8*cos(t); % X koordinate krugova za drugi semafor (skalirano na 0.8)
  209. y3 = 0.8*sin(t); % Y koordinate krugova za drugi semafor (skalirano na 0.8)
  210. crvenom = fill(x3+3.4, y3-3.4, 'black'); % Kreiranje crvenog svjetla na drugom semaforu i bojanje u crno (pomjereno)
  211. hold on % Zadržavanje trenutnog grafa
  212. zelenom = fill(x3+3.4, y3-5.1, 'black'); % Kreiranje zelenog svjetla na drugom semaforu i bojanje u crno (pomjereno)
  213. hold on % Zadržavanje trenutnog grafa
  214.  
  215. % Prikaz crvenog svjetla na prvom semaforu
  216. for i = 1:3
  217.     pause(0.5) % Pauza od 0.5 sekundi
  218.     crveno = fill(x, y, 'red'); % Prikaz crvenog svjetla
  219.     hold on % Zadržavanje trenutnog grafa
  220.     zuto = fill(x, y-2.5, 'black'); % Bojanje žutog svjetla u crno
  221.     hold on % Zadržavanje trenutnog grafa
  222.     zeleno = fill(x, y-5, 'black'); % Bojanje zelenog svjetla u crno
  223.     hold on % Zadržavanje trenutnog grafa
  224. end
  225.  
  226. % Prikaz zelenog svjetla na drugom semaforu
  227. for i = 1:6
  228.     pause(0.5) % Pauza od 0.5 sekundi
  229.     crvenom = fill(x3+3.4, y3-3.4, 'black'); % Bojanje crvenog svjetla na drugom semaforu u crno
  230.     hold on % Zadržavanje trenutnog grafa
  231.     zelenom = fill(x3+3.4, y3-5.1, 'green'); % Prikaz zelenog svjetla na drugom semaforu
  232.     hold on % Zadržavanje trenutnog grafa
  233. end
  234.  
  235. % Prikaz žutog svjetla na prvom semaforu
  236. for i = 1:3
  237.     pause(0.5) % Pauza od 0.5 sekundi
  238.     crveno = fill(x, y, 'black'); % Bojanje crvenog svjetla u crno
  239.     hold on % Zadržavanje trenutnog grafa
  240.     zuto = fill(x, y-2.5, 'yellow'); % Prikaz žutog svjetla
  241.     hold on % Zadržavanje trenutnog grafa
  242.     zeleno = fill(x, y-5, 'black'); % Bojanje zelenog svjetla u crno
  243.     hold on % Zadržavanje trenutnog grafa
  244. end
  245.  
  246. % Prikaz crvenog svjetla na drugom semaforu
  247. for i = 1:3
  248.     crvenom = fill(x3+3.4, y3-3.4, 'red'); % Prikaz crvenog svjetla na drugom semaforu
  249.     hold on % Zadržavanje trenutnog grafa
  250.     zelenom = fill(x3+3.4, y3-5.1, 'black'); % Bojanje zelenog svjetla na drugom semaforu u crno
  251.     hold on % Zadržavanje trenutnog grafa
  252.     pause(0.5) % Pauza od 0.5 sekundi
  253. end
  254.  
  255. % Prikaz zelenog svjetla na prvom semaforu
  256. for i = 1:3
  257.     pause(1) % Pauza od 1 sekunde
  258.     crveno = fill(x, y, 'black'); % Bojanje crvenog svjetla u crno
  259.     hold on % Zadržavanje trenutnog grafa
  260.     zuto = fill(x, y-2.5, 'black'); % Bojanje žutog svjetla u crno
  261.     hold on % Zadržavanje trenutnog grafa
  262.     zeleno = fill(x, y-5, 'green'); % Prikaz zelenog svjetla
  263.     hold on % Zadržavanje trenutnog grafa
  264. end
  265.  
  266. % Titranje zelenog svjetla na prvom semaforu
  267. for i = 1:3
  268.     pause(0.5) % Pauza od 0.5 sekundi
  269.     crveno = fill(x, y, 'black'); % Bojanje crvenog svjetla u crno
  270.     hold on % Zadržavanje trenutnog grafa
  271.     zuto = fill(x, y-2.5, 'black'); % Bojanje žutog svjetla u crno
  272.     hold on % Zadržavanje trenutnog grafa
  273.     zeleno = fill(x, y-5, 'black'); % Bojanje zelenog svjetla u crno
  274.     hold on % Zadržavanje trenutnog grafa
  275.     pause(0.5) % Pauza od 0.5 sekundi
  276.     zeleno = fill(x, y-5, 'green'); % Prikaz zelenog svjetla
  277.     hold on % Zadržavanje trenutnog grafa
  278. end
  279.  
  280. % Promjena zelenog svjetla na prvom semaforu u žuto
  281. pause(0.5) % Pauza od 0.5 sekundi
  282. zeleno = fill(x, y-5, 'black'); % Bojanje zelenog svjetla u crno
  283. hold on % Zadržavanje trenutnog grafa
  284. zuto = fill(x, y-2.5, 'yellow'); % Prikaz žutog svjetla
  285. hold on % Zadržavanje trenutnog grafa
  286. pause(2) % Pauza od 2 sekunde
  287.  
  288. % Promjena žutog svjetla na prvom semaforu u crveno
  289. zuto = fill(x, y-2.5, 'black'); % Bojanje žutog svjetla u crno
  290. hold on % Zadržavanje trenutnog grafa
  291. crveno = fill(x, y, 'red'); % Prikaz crvenog svjetla
  292. hold on % Zadržavanje trenutnog grafa
  293.  
  294. % Promjena drugog semafora na zeleno svjetlo
  295. crvenom = fill(x3+3.4, y3-3.4, 'black'); % Bojanje crvenog svjetla na drugom semaforu u crno
  296. hold on % Zadržavanje trenutnog grafa
  297. zelenom = fill(x3+3.4, y3-5.1, 'green'); % Prikaz zelenog svjetla na drugom semaforu
  298. hold on % Zadržavanje trenutnog grafa
  299.  
  300. 6. zadatak - kazaljka se krece po linijaru u jednom smjeru 1 sekundu, a u drugom dvije, kad se vrati mijenja boju
  301.  
  302. x=[-1 7 7 -1];
  303. y=[0 0 -7 -7]
  304. bg=patch(x,y,'w')
  305. hold on
  306. xl = [0 6 6 0];
  307. yl = [-1 -1 -2 -2];
  308. linijar = patch(xl, yl, 'w');
  309. hold on
  310.  
  311. text(0.15,-1.75,'0')
  312. text(0.25,-2,'|')
  313. text(0.75,-2,'|')
  314. text(1.25,-2,'|')
  315. text(1.75,-2,'|')
  316. text(2.25,-2,'|')
  317. text(2.75,-2,'|')
  318. text(3.25,-2,'|')
  319. text(3.75,-2,'|')
  320. text(4.25,-2,'|')
  321. text(4.75,-2,'|')
  322. text(5.25,-2,'|')
  323. text(5.75,-2,'|')
  324. text(5.7,-1.75,'12')
  325. hold all
  326.  
  327. xk=[0.2 0.2 0 0.25 0.5 0.3 0.3];
  328. yk=[-4 -2.2 -2.2 -2 -2.2 -2.2 -4];
  329. strelicaa=patch(xk,yk,'r')
  330.  
  331. for i=1:11
  332.    
  333.     xk=xk+0.5;
  334.     yk=yk;
  335.     pause(1/11)
  336.     set(strelicaa,'x',xk,'y',yk)
  337. end
  338. for i=1:11
  339.    
  340.     xk=xk-0.5;
  341.     yk=yk;
  342.     pause(2/11)
  343.     set(strelicaa,'x',xk,'y',yk,'facecolor','blue');
  344. end
  345.  
  346. 7. zadatak - napraviti petougao koji se pod uglom od 30 stepeni pomjera za svojih 5 duzina u odnosu na x osu.
  347. Istovremeno se okrene 5 puta u vremenu od 5 sekundi
  348.  
  349. clear all
  350. close all
  351. clc
  352.  
  353. figure
  354. t=(1/10:1/5:1)'*2*pi;
  355. x=sin(t);
  356. y=cos(t);
  357. axis([-2 12 -2 8])
  358. h=patch(x,y,'r');
  359. xlabel('x');
  360. ylabel('y');
  361. zlabel('z');
  362. title('Rotacija i translacija petougla');
  363. grid ON
  364. pause(2)
  365.  
  366. x1=x;
  367. y1=y;
  368.  
  369. x2=0;
  370. y2=0;
  371.  
  372. for t=1:1:60
  373.     x1=x1+(1/6);
  374.     y1=y1+(0.1);
  375.     x2=x2+(1/6);
  376.     y2=y2+(0.1);
  377.    
  378.     set(h,'x',x1,'y',y1)
  379.     rotate(h, [0 0 1], t*30, [x2 y2 0])
  380.    
  381.     pause(0.03)
  382. end
  383.  
  384.  
  385.  
  386.  
  387.  
  388.