@@ -9,7 +9,6 @@ function run() {
9
9
var I = new Array ( ) ; // entity matrix
10
10
var Origin = new Object ( ) ;
11
11
var Testing = new Object ( ) ;
12
- var LoopTimer ;
13
12
14
13
var validation = {
15
14
20 : 2889.0000000000045 ,
@@ -32,7 +31,7 @@ function run() {
32
31
var x = x1 ;
33
32
var y = y1 ;
34
33
var IncX1 , IncY1 ;
35
- var IncX2 , IncY2 ;
34
+ var IncX2 , IncY2 ;
36
35
var Den ;
37
36
var Num ;
38
37
var NumAdd ;
@@ -84,13 +83,14 @@ function run() {
84
83
}
85
84
86
85
function CalcNormal ( V0 , V1 , V2 ) {
87
- var A = new Array ( ) ; var B = new Array ( ) ;
86
+ var A = new Array ( ) ;
87
+ var B = new Array ( ) ;
88
88
for ( var i = 0 ; i < 3 ; i ++ ) {
89
89
A [ i ] = V0 [ i ] - V1 [ i ] ;
90
90
B [ i ] = V2 [ i ] - V1 [ i ] ;
91
91
}
92
92
A = CalcCross ( A , B ) ;
93
- var Length = Math . sqrt ( A [ 0 ] * A [ 0 ] + A [ 1 ] * A [ 1 ] + A [ 2 ] * A [ 2 ] ) ;
93
+ var Length = Math . sqrt ( A [ 0 ] * A [ 0 ] + A [ 1 ] * A [ 1 ] + A [ 2 ] * A [ 2 ] ) ;
94
94
for ( var i = 0 ; i < 3 ; i ++ ) A [ i ] = A [ i ] / Length ;
95
95
A [ 3 ] = 1 ;
96
96
return A ;
@@ -141,10 +141,10 @@ function run() {
141
141
142
142
function Translate ( M , Dx , Dy , Dz ) {
143
143
var T = [
144
- [ 1 , 0 , 0 , Dx ] ,
145
- [ 0 , 1 , 0 , Dy ] ,
146
- [ 0 , 0 , 1 , Dz ] ,
147
- [ 0 , 0 , 0 , 1 ]
144
+ [ 1 , 0 , 0 , Dx ] ,
145
+ [ 0 , 1 , 0 , Dy ] ,
146
+ [ 0 , 0 , 1 , Dz ] ,
147
+ [ 0 , 0 , 0 , 1 ]
148
148
] ;
149
149
return MMulti ( T , M ) ;
150
150
}
@@ -155,10 +155,10 @@ function run() {
155
155
var Cos = Math . cos ( a ) ;
156
156
var Sin = Math . sin ( a ) ;
157
157
var R = [
158
- [ 1 , 0 , 0 , 0 ] ,
159
- [ 0 , Cos , - Sin , 0 ] ,
160
- [ 0 , Sin , Cos , 0 ] ,
161
- [ 0 , 0 , 0 , 1 ]
158
+ [ 1 , 0 , 0 , 0 ] ,
159
+ [ 0 , Cos , - Sin , 0 ] ,
160
+ [ 0 , Sin , Cos , 0 ] ,
161
+ [ 0 , 0 , 0 , 1 ]
162
162
] ;
163
163
return MMulti ( R , M ) ;
164
164
}
@@ -169,10 +169,10 @@ function run() {
169
169
var Cos = Math . cos ( a ) ;
170
170
var Sin = Math . sin ( a ) ;
171
171
var R = [
172
- [ Cos , 0 , Sin , 0 ] ,
173
- [ 0 , 1 , 0 , 0 ] ,
174
- [ - Sin , 0 , Cos , 0 ] ,
175
- [ 0 , 0 , 0 , 1 ]
172
+ [ Cos , 0 , Sin , 0 ] ,
173
+ [ 0 , 1 , 0 , 0 ] ,
174
+ [ - Sin , 0 , Cos , 0 ] ,
175
+ [ 0 , 0 , 0 , 1 ]
176
176
] ;
177
177
return MMulti ( R , M ) ;
178
178
}
@@ -183,10 +183,10 @@ function run() {
183
183
var Cos = Math . cos ( a ) ;
184
184
var Sin = Math . sin ( a ) ;
185
185
var R = [
186
- [ Cos , - Sin , 0 , 0 ] ,
187
- [ Sin , Cos , 0 , 0 ] ,
188
- [ 0 , 0 , 1 , 0 ] ,
189
- [ 0 , 0 , 0 , 1 ]
186
+ [ Cos , - Sin , 0 , 0 ] ,
187
+ [ Sin , Cos , 0 , 0 ] ,
188
+ [ 0 , 0 , 1 , 0 ] ,
189
+ [ 0 , 0 , 0 , 1 ]
190
190
] ;
191
191
return MMulti ( R , M ) ;
192
192
}
@@ -270,28 +270,28 @@ function run() {
270
270
271
271
// transformation matrix
272
272
MTrans = [
273
- [ 1 , 0 , 0 , 0 ] ,
274
- [ 0 , 1 , 0 , 0 ] ,
275
- [ 0 , 0 , 1 , 0 ] ,
276
- [ 0 , 0 , 0 , 1 ]
273
+ [ 1 , 0 , 0 , 0 ] ,
274
+ [ 0 , 1 , 0 , 0 ] ,
275
+ [ 0 , 0 , 1 , 0 ] ,
276
+ [ 0 , 0 , 0 , 1 ]
277
277
] ;
278
-
278
+
279
279
// position information of qube
280
280
MQube = [
281
- [ 1 , 0 , 0 , 0 ] ,
282
- [ 0 , 1 , 0 , 0 ] ,
283
- [ 0 , 0 , 1 , 0 ] ,
284
- [ 0 , 0 , 0 , 1 ]
281
+ [ 1 , 0 , 0 , 0 ] ,
282
+ [ 0 , 1 , 0 , 0 ] ,
283
+ [ 0 , 0 , 1 , 0 ] ,
284
+ [ 0 , 0 , 0 , 1 ]
285
285
] ;
286
-
286
+
287
287
// entity matrix
288
288
I = [
289
- [ 1 , 0 , 0 , 0 ] ,
290
- [ 0 , 1 , 0 , 0 ] ,
291
- [ 0 , 0 , 1 , 0 ] ,
292
- [ 0 , 0 , 0 , 1 ]
289
+ [ 1 , 0 , 0 , 0 ] ,
290
+ [ 0 , 1 , 0 , 0 ] ,
291
+ [ 0 , 0 , 1 , 0 ] ,
292
+ [ 0 , 0 , 0 , 1 ]
293
293
] ;
294
-
294
+
295
295
// create qube
296
296
Q [ 0 ] = new CreateP ( - CubeSize , - CubeSize , CubeSize ) ;
297
297
Q [ 1 ] = new CreateP ( - CubeSize , CubeSize , CubeSize ) ;
@@ -301,24 +301,25 @@ function run() {
301
301
Q [ 5 ] = new CreateP ( - CubeSize , CubeSize , - CubeSize ) ;
302
302
Q [ 6 ] = new CreateP ( CubeSize , CubeSize , - CubeSize ) ;
303
303
Q [ 7 ] = new CreateP ( CubeSize , - CubeSize , - CubeSize ) ;
304
-
304
+
305
305
// center of gravity
306
306
Q [ 8 ] = new CreateP ( 0 , 0 , 0 ) ;
307
-
307
+
308
308
// anti-clockwise edge check
309
309
Q . Edge = [ [ 0 , 1 , 2 ] , [ 3 , 2 , 6 ] , [ 7 , 6 , 5 ] , [ 4 , 5 , 1 ] , [ 4 , 0 , 3 ] , [ 1 , 5 , 6 ] ] ;
310
-
310
+
311
311
// calculate squad normals
312
312
Q . Normal = new Array ( ) ;
313
313
for ( var i = 0 ; i < Q . Edge . length ; i ++ ) Q . Normal [ i ] = CalcNormal ( Q [ Q . Edge [ i ] [ 0 ] ] . V , Q [ Q . Edge [ i ] [ 1 ] ] . V , Q [ Q . Edge [ i ] [ 2 ] ] . V ) ;
314
-
314
+
315
315
// line drawn ?
316
316
Q . Line = [ false , false , false , false , false , false , false , false , false , false , false , false ] ;
317
-
317
+
318
318
// create line pixels
319
319
Q . NumPx = 9 * 2 * CubeSize ;
320
- for ( var i = 0 ; i < Q . NumPx ; i ++ ) CreateP ( 0 , 0 , 0 ) ;
321
-
320
+ Q . LinePixels = new Array ( )
321
+ for ( var i = 0 ; i < Q . NumPx ; i ++ ) Q . LinePixels . push ( new CreateP ( 0 , 0 , 0 ) ) ;
322
+
322
323
MTrans = Translate ( MTrans , Origin . V [ 0 ] , Origin . V [ 1 ] , Origin . V [ 2 ] ) ;
323
324
MQube = MMulti ( MTrans , MQube ) ;
324
325
@@ -329,7 +330,7 @@ function run() {
329
330
DrawQube ( ) ;
330
331
Testing . Init = true ;
331
332
Loop ( ) ;
332
-
333
+
333
334
// Perform a simple sum-based verification.
334
335
var sum = 0 ;
335
336
for ( var i = 0 ; i < Q . length ; ++ i ) {
0 commit comments