# Step Event

a guest
Sep 26th, 2016
48
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
1. var temp,r,inc,azi,alpha,coun,m,n,obj;
2. temp = 0;
3. count = 0;
4. coun = 0;
5. m = 0;
6. n = 0;
7. obj = 0;
8.
9. /*
10. sin(x) Returns the sine of x (x in radians).
11. cos(x) Returns the cosine of x (x in radians).
12. tan(x) Returns the tangent of x (x in radians).
13. arcsin(x) Returns the inverse sine of x.
14. arccos(x) Returns the inverse cosine of x.
15. arctan(x) Returns the inverse tangent of x.
16. arctan2(y,x) Calculates arctan(Y/X), and returns an angle in the correct quadrant.
19. */
20.
21.
22. if keyboard_check(ord('2'))
23. {//3d transform x-down
24.     repeat(object_vertices[obj])
25.     {
26.     r = sqrt(sqr(object_y[obj,coun]) + sqr(object_z[obj,coun]));
27.     alpha = arctan2(object_y[obj,coun],object_z[obj,coun]) - pi/24;
28.     object_z[obj,coun] = r*cos(alpha);
29.     object_y[obj,coun] = r*sin(alpha);
30.     coun += 1;
31.     }
32. coun = 0;
33. }
34. if keyboard_check(ord('8'))
35. {//3d transform x-up
36.     repeat(object_vertices[obj])
37.     {
38.     r = sqrt(sqr(object_y[obj,coun]) + sqr(object_z[obj,coun]));
39.     alpha = arctan2(object_y[obj,coun],object_z[obj,coun]) + pi/24;
40.     object_z[obj,coun] = r*cos(alpha);
41.     object_y[obj,coun] = r*sin(alpha);
42.     coun += 1;
43.     }
44. coun = 0;
45. }
46. if keyboard_check(ord('4'))
47. {//3d transform y-left
48.     repeat(object_vertices[obj])
49.     {
50.     r = sqrt(sqr(object_x[obj,coun]) + sqr(object_z[obj,coun]));
51.     alpha = arctan2(object_z[obj,coun],object_x[obj,coun]) + pi/24;
52.     object_x[obj,coun] = r*cos(alpha);
53.     object_z[obj,coun] = r*sin(alpha);
54.     coun += 1;
55.     }
56. coun = 0;
57. }
58. if keyboard_check(ord('6'))
59. {//3d transform y-right
60.     repeat(object_vertices[obj])
61.     {
62.     r = sqrt(sqr(object_x[obj,coun]) + sqr(object_z[obj,coun]));
63.     alpha = arctan2(object_z[obj,coun],object_x[obj,coun]) - pi/24;
64.     object_x[obj,coun] = r*cos(alpha);
65.     object_z[obj,coun] = r*sin(alpha);
66.     coun += 1;
67.     }
68. coun = 0;
69. }
70. if keyboard_check(ord('1'))
71. {//3d transform z-counterclock
72.     repeat(object_vertices[obj])
73.     {
74.     r = sqrt(sqr(object_x[obj,coun]) + sqr(object_y[obj,coun]));
75.     alpha = arctan2(object_y[obj,coun],object_x[obj,coun]) - pi/24;
76.     object_x[obj,coun] = r*cos(alpha);
77.     object_y[obj,coun] = r*sin(alpha);
78.     coun += 1;
79.     }
80. coun = 0;
81. }
82. if keyboard_check(ord('9'))
83. {//3d transform z-clockwise
84.     repeat(object_vertices[obj])
85.     {
86.     r = sqrt(sqr(object_x[obj,coun]) + sqr(object_y[obj,coun]));
87.     alpha = arctan2(object_y[obj,coun],object_x[obj,coun]) + pi/24;
88.     object_x[obj,coun] = r*cos(alpha);
89.     object_y[obj,coun] = r*sin(alpha);
90.     coun += 1;
91.     }
92. coun = 0;
93. }
94.
95. repeat(12) //12 triangles
96. {
97. vertex_x[coun] = object_x[m,ref_x1[0,count]]*6;
98. vertex_y[coun] = object_y[m,ref_y1[0,count]]*6;
99. vertex_z[coun] = (object_z[m,ref_z1[0,count]] - 1000)*6;
100. vertex_x[coun+1] = object_x[m,ref_x2[0,count]]*6;
101. vertex_y[coun+1] = object_y[m,ref_y2[0,count]]*6;
102. vertex_z[coun+1] = (object_z[m,ref_z2[0,count]] - 1000)*6;
103. vertex_x[coun+2] = object_x[m,ref_x3[0,count]]*6;
104. vertex_y[coun+2] = object_y[m,ref_y3[0,count]]*6;
105. vertex_z[coun+2] = (object_z[m,ref_z3[0,count]] - 1000)*6;
106. coun += 3;
107. count += 1;
108. }
109.
110. /*
111. here comes the other object to triangle code
112. */
113.
114. //empty Zbuffer
115. surface_set_target(global.surid);
116. draw_set_color(c_white);
117. draw_rectangle(0,0,view_wport,view_hport,false);
118. draw_set_color(c_black);
119. surface_reset_target();
120. repeat(view_hport)
121. {
122.     repeat(view_wport)
123.     {
124.     global.Zbuffer[m,n] = -2147483647;
125.     m+=1;
126.     }
127. n+=1;
128. m = 0;
129. }
RAW Paste Data