From enchante, 1 Month ago, written in Plain Text.
Embed
Hits: 172
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.