Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function [RotZ]=calcRotZ(theta)
- RotZ = [cos(theta),-sin(theta),0,0; sin(theta),cos(theta),0,0; 0,0,1,0; 0,0,0,1]
- endfunction
- function [TransZ]=calcTransZ(d)
- TransZ = [1,0,0,0; 0,1,0,0; 0,0,1,d; 0,0,0,1]
- endfunction
- function [TransX]=calcTransX(a)
- TransX = [1,0,0,a; 0,1,0,0; 0,0,1,0; 0,0,0,1]
- endfunction
- function [RotX]=calcRotX(alfa)
- RotX = [1,0,0,0; 0,cos(alfa),-sin(alfa),0; 0,sin(alfa), cos(alfa),0; 0,0,0,1]
- endfunction
- //O1
- theta = (0 * %pi / 180) //zmienny kąt
- RotZ = calcRotZ(theta)
- TransZ = calcTransZ(655)
- RotX = calcRotX((%pi/2))
- O1 = RotZ * TransZ * RotX
- for i = 0:15
- //O2
- theta = ((i*10) * %pi / 180) //zmienny kąt
- RotZ = calcRotZ(theta)
- TransX = calcTransX(1200)
- O2 = RotZ * TransX
- disp(i);
- for j = -15:0
- //O3
- theta = ((j*10) * %pi / 180) //zmienny kąt
- RotZ = calcRotZ(theta)
- TransX = calcTransX(300)
- RotX = calcRotX((%pi/2))
- TransZ = calcTransZ(655)
- O3 = RotZ * TransX * RotX * TransZ
- //O4
- theta = (0 * %pi / 180) //zmienny kąt
- RotZ = calcRotZ(theta)
- TransX = calcTransX(300)
- RotX = calcRotX((%pi/2))
- TransZ = calcTransZ(655)
- O4 = RotZ * TransX * RotX * TransZ
- T = O1 * O2 * O3 * O4
- //disp(T)
- plot(T(1,4), T(3,4), '.')
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement