- 1. zadatak - izvrsi rotaciju trougla naredbom rotate i kretanje anredbom set
- close all
- clear all
- clc
- x1=[6 8 7 ]
- y1=[3 3 2]
- trougao=patch(x1,y1,'r')
- x11=x1
- y11=y1
- axis([3 8 -1 3])
- for i=1:30
- x11=x11-0.1
- y11=y11;
- set(trougao,'x',x11,'y',y11)
- pause(3/30)
- end
- a=x11+1
- b=y11-0.5
- for i=1:30
- x11=x11+0.1
- y11=y11-0.1;
- set(trougao,'x',x11,'y',y11)
- pause(3/30)
- end
- for i=1:30
- rotate(trougao,[0 0 1],6,[7,-0.5,0])
- pause (0.1)
- end
- x11=[6 8 7]
- y11=[-1 -1 0]
- for i=1:30
- x11=x11-0.1
- y11=y11;
- set(trougao,'x',x11,'y',y11)
- pause(2/30)
- end
- for i=1:30
- x11=x11+0.1
- y11=y11+0.1;
- set(trougao,'x',x11,'y',y11)
- pause(2/30)
- end
- for i=1:30
- rotate(trougao,[0 0 1],6,[7,2.5,0])
- pause (1/30)
- end
- 2. zadatak - Kazaljka se krece oko centra kruga brzinom 2 sekunde po krugu, i crvene je boje
- r = 0:0.1:2*pi;
- x = sin(r)+5;
- y = cos(r)+5;
- patch(x,y,'yellow')
- x = [5 5 6 6];
- y = [4.9 5.1 5.1 4.9];
- kazaljka = patch(x,y,'red');
- x1 = x;
- y1 = y;
- smjer = [0 0 1];
- pause
- for i=1:180
- rotate(kazaljka,smjer,-6)
- pause(1/30)
- end
- 3. zadatak - nacrtati 4- sranu piramidu visine 4 cm i osnovice 3
- clear all
- close all
- a=3;
- h=4;
- P=a^2 + 2*a*h;
- V=a^2*h./3;
- fprintf('Povrsina je:');
- disp(P);
- fprintf('Zapremina je:');
- disp(V);
- x = [0 3 3 0];
- y = [0 0 3 3];
- z = [0 0 0 0];
- patch(x,y,z,'y');
- grid on;
- axis([-2 5 -2 5]);
- xlabel('x-osa');
- ylabel('y-osa');
- zlabel('z-osa');
- x = [0 3 1.5];
- y = [0 0 1.5];
- z = [0 0 4];
- patch(x,y,z,'r');
- grid on;
- axis([-2 5 -2 5]);
- xlabel('x-osa');
- ylabel('y-osa');
- zlabel('z-osa');
- x = [0 0 1.5]
- y = [0 3 1.5];
- z = [0 0 4];
- patch(x,y,z,'g');
- grid on;
- axis([-2 5 -2 5]);
- xlabel('x-osa');
- ylabel('y-osa');
- zlabel('z-osa');
- x = [0 3 1.5];
- y = [3 3 1.5];
- z = [0 0 4];
- patch(x,y,z,'b');
- grid on;
- axis([-2 5 -2 5]);
- xlabel('x-osa');
- ylabel('y-osa');
- zlabel('z-osa');
- x = [3 3 1.5];
- y = [0 3 1.5];
- z = [0 0 4];
- patch(x,y,z,'m');
- grid on;
- axis([-2 5 -2 5]);
- xlabel('x-osa');
- ylabel('y-osa');
- zlabel('z-osa');
- 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
- t = 0:0.1:2*pi;
- x_background = [-2 2 2 -2];
- y_background = [-8 -8 2 2];
- figure;
- patch(x_background, y_background, 'k');
- axis([-10 10 -10 10]);
- hold on;
- while true
- % Crvena boja svijetli 50 sekundi
- crveno = patch(sin(t), cos(t), 'red');
- pause(5); % 50 sekundi
- % Zatim žuta boja svijetli 5 sekundi
- delete(crveno);
- zuto = patch(sin(t), cos(t) - 3, 'yellow');
- pause(2); % 5 sekundi
- % Zelena boja svijetli 50 sekundi
- delete(zuto);
- zeleno = patch(sin(t), cos(t) - 6, 'green');
- pause(5); % 50 sekundi
- % Treptanje tri puta po 5 sekundi
- for i = 1:3
- delete(zeleno);
- pause(0.5); % 0.5 sekundi
- zeleno = patch(sin(t), cos(t) - 6, 'green');
- pause(0.5); % 0.5 sekundi
- end
- % Nakon treptanja, žuto pa crveno svjetlo
- delete(zeleno);
- zuto = patch(sin(t), cos(t) - 3, 'yellow');
- pause(2); % 5 sekundi
- delete(zuto);
- crveno = patch(sin(t), cos(t), 'red');
- pause(50); % 50 sekundi
- end
- 5. zadatak - dva semafora (pjesaci i automobili)
- % Definisanje kutije semafora
- x1 = [-1.2 1.2 1.2 -1.2]; % X koordinate kutije semafora
- y1 = [-6.2 -6.2 1.2 1.2]; % Y koordinate kutije semafora
- vsemafor = patch(x1, y1, 'black'); % Kreiranje kvadratnog oblika za kutiju semafora i bojanje u crno
- hold on % Zadržavanje trenutnog grafa
- % Definisanje krugova za svjetla
- t = (0:1/360:1)'*2*pi; % Generisanje uglova za kružne oblike
- x = sin(t); % X koordinate krugova (sinusna funkcija)
- y = cos(t); % Y koordinate krugova (kosinusna funkcija)
- crveno = fill(x, y, 'black'); % Kreiranje crvenog svjetla i bojanje u crno
- hold on % Zadržavanje trenutnog grafa
- zuto = fill(x, y-2.5, 'black'); % Kreiranje žutog svjetla i bojanje u crno (pomjereno za 2.5 dolje)
- hold on % Zadržavanje trenutnog grafa
- zeleno = fill(x, y-5, 'black'); % Kreiranje zelenog svjetla i bojanje u crno (pomjereno za 5 dolje)
- hold on % Zadržavanje trenutnog grafa
- axis([-2 5 -7 2]) % Postavljanje granica osi
- % Definisanje kutije drugog semafora
- x2 = [2.3 4.5 4.5 2.3]; % X koordinate kutije drugog semafora
- y2 = [-6.2 -6.2 -2.5 -2.5]; % Y koordinate kutije drugog semafora
- msemafor = patch(x2, y2, 'black'); % Kreiranje kvadratnog oblika za kutiju drugog semafora i bojanje u crno
- hold on % Zadržavanje trenutnog grafa
- x3 = 0.8*cos(t); % X koordinate krugova za drugi semafor (skalirano na 0.8)
- y3 = 0.8*sin(t); % Y koordinate krugova za drugi semafor (skalirano na 0.8)
- crvenom = fill(x3+3.4, y3-3.4, 'black'); % Kreiranje crvenog svjetla na drugom semaforu i bojanje u crno (pomjereno)
- hold on % Zadržavanje trenutnog grafa
- zelenom = fill(x3+3.4, y3-5.1, 'black'); % Kreiranje zelenog svjetla na drugom semaforu i bojanje u crno (pomjereno)
- hold on % Zadržavanje trenutnog grafa
- % Prikaz crvenog svjetla na prvom semaforu
- for i = 1:3
- pause(0.5) % Pauza od 0.5 sekundi
- crveno = fill(x, y, 'red'); % Prikaz crvenog svjetla
- hold on % Zadržavanje trenutnog grafa
- zuto = fill(x, y-2.5, 'black'); % Bojanje žutog svjetla u crno
- hold on % Zadržavanje trenutnog grafa
- zeleno = fill(x, y-5, 'black'); % Bojanje zelenog svjetla u crno
- hold on % Zadržavanje trenutnog grafa
- end
- % Prikaz zelenog svjetla na drugom semaforu
- for i = 1:6
- pause(0.5) % Pauza od 0.5 sekundi
- crvenom = fill(x3+3.4, y3-3.4, 'black'); % Bojanje crvenog svjetla na drugom semaforu u crno
- hold on % Zadržavanje trenutnog grafa
- zelenom = fill(x3+3.4, y3-5.1, 'green'); % Prikaz zelenog svjetla na drugom semaforu
- hold on % Zadržavanje trenutnog grafa
- end
- % Prikaz žutog svjetla na prvom semaforu
- for i = 1:3
- pause(0.5) % Pauza od 0.5 sekundi
- crveno = fill(x, y, 'black'); % Bojanje crvenog svjetla u crno
- hold on % Zadržavanje trenutnog grafa
- zuto = fill(x, y-2.5, 'yellow'); % Prikaz žutog svjetla
- hold on % Zadržavanje trenutnog grafa
- zeleno = fill(x, y-5, 'black'); % Bojanje zelenog svjetla u crno
- hold on % Zadržavanje trenutnog grafa
- end
- % Prikaz crvenog svjetla na drugom semaforu
- for i = 1:3
- crvenom = fill(x3+3.4, y3-3.4, 'red'); % Prikaz crvenog svjetla na drugom semaforu
- hold on % Zadržavanje trenutnog grafa
- zelenom = fill(x3+3.4, y3-5.1, 'black'); % Bojanje zelenog svjetla na drugom semaforu u crno
- hold on % Zadržavanje trenutnog grafa
- pause(0.5) % Pauza od 0.5 sekundi
- end
- % Prikaz zelenog svjetla na prvom semaforu
- for i = 1:3
- pause(1) % Pauza od 1 sekunde
- crveno = fill(x, y, 'black'); % Bojanje crvenog svjetla u crno
- hold on % Zadržavanje trenutnog grafa
- zuto = fill(x, y-2.5, 'black'); % Bojanje žutog svjetla u crno
- hold on % Zadržavanje trenutnog grafa
- zeleno = fill(x, y-5, 'green'); % Prikaz zelenog svjetla
- hold on % Zadržavanje trenutnog grafa
- end
- % Titranje zelenog svjetla na prvom semaforu
- for i = 1:3
- pause(0.5) % Pauza od 0.5 sekundi
- crveno = fill(x, y, 'black'); % Bojanje crvenog svjetla u crno
- hold on % Zadržavanje trenutnog grafa
- zuto = fill(x, y-2.5, 'black'); % Bojanje žutog svjetla u crno
- hold on % Zadržavanje trenutnog grafa
- zeleno = fill(x, y-5, 'black'); % Bojanje zelenog svjetla u crno
- hold on % Zadržavanje trenutnog grafa
- pause(0.5) % Pauza od 0.5 sekundi
- zeleno = fill(x, y-5, 'green'); % Prikaz zelenog svjetla
- hold on % Zadržavanje trenutnog grafa
- end
- % Promjena zelenog svjetla na prvom semaforu u žuto
- pause(0.5) % Pauza od 0.5 sekundi
- zeleno = fill(x, y-5, 'black'); % Bojanje zelenog svjetla u crno
- hold on % Zadržavanje trenutnog grafa
- zuto = fill(x, y-2.5, 'yellow'); % Prikaz žutog svjetla
- hold on % Zadržavanje trenutnog grafa
- pause(2) % Pauza od 2 sekunde
- % Promjena žutog svjetla na prvom semaforu u crveno
- zuto = fill(x, y-2.5, 'black'); % Bojanje žutog svjetla u crno
- hold on % Zadržavanje trenutnog grafa
- crveno = fill(x, y, 'red'); % Prikaz crvenog svjetla
- hold on % Zadržavanje trenutnog grafa
- % Promjena drugog semafora na zeleno svjetlo
- crvenom = fill(x3+3.4, y3-3.4, 'black'); % Bojanje crvenog svjetla na drugom semaforu u crno
- hold on % Zadržavanje trenutnog grafa
- zelenom = fill(x3+3.4, y3-5.1, 'green'); % Prikaz zelenog svjetla na drugom semaforu
- hold on % Zadržavanje trenutnog grafa
- 6. zadatak - kazaljka se krece po linijaru u jednom smjeru 1 sekundu, a u drugom dvije, kad se vrati mijenja boju
- x=[-1 7 7 -1];
- y=[0 0 -7 -7]
- bg=patch(x,y,'w')
- hold on
- xl = [0 6 6 0];
- yl = [-1 -1 -2 -2];
- linijar = patch(xl, yl, 'w');
- hold on
- text(0.15,-1.75,'0')
- text(0.25,-2,'|')
- text(0.75,-2,'|')
- text(1.25,-2,'|')
- text(1.75,-2,'|')
- text(2.25,-2,'|')
- text(2.75,-2,'|')
- text(3.25,-2,'|')
- text(3.75,-2,'|')
- text(4.25,-2,'|')
- text(4.75,-2,'|')
- text(5.25,-2,'|')
- text(5.75,-2,'|')
- text(5.7,-1.75,'12')
- hold all
- xk=[0.2 0.2 0 0.25 0.5 0.3 0.3];
- yk=[-4 -2.2 -2.2 -2 -2.2 -2.2 -4];
- strelicaa=patch(xk,yk,'r')
- for i=1:11
- xk=xk+0.5;
- yk=yk;
- pause(1/11)
- set(strelicaa,'x',xk,'y',yk)
- end
- for i=1:11
- xk=xk-0.5;
- yk=yk;
- pause(2/11)
- set(strelicaa,'x',xk,'y',yk,'facecolor','blue');
- end
- 7. zadatak - napraviti petougao koji se pod uglom od 30 stepeni pomjera za svojih 5 duzina u odnosu na x osu.
- Istovremeno se okrene 5 puta u vremenu od 5 sekundi
- clear all
- close all
- clc
- figure
- t=(1/10:1/5:1)'*2*pi;
- x=sin(t);
- y=cos(t);
- axis([-2 12 -2 8])
- h=patch(x,y,'r');
- xlabel('x');
- ylabel('y');
- zlabel('z');
- title('Rotacija i translacija petougla');
- grid ON
- pause(2)
- x1=x;
- y1=y;
- x2=0;
- y2=0;
- for t=1:1:60
- x1=x1+(1/6);
- y1=y1+(0.1);
- x2=x2+(1/6);
- y2=y2+(0.1);
- set(h,'x',x1,'y',y1)
- rotate(h, [0 0 1], t*30, [x2 y2 0])
- pause(0.03)
- end