hey
i was just looking at some info about jitter and came across this
screenshot:
http://www.cycling74.com/products/jitter-img/3d_shapes.jpg
and it reminded me of a little gem project i have going. one of the
problems i had that i want to address is the jagged edges and
occastional little white glitches that appear behind the spheres:
http://eds.org/~joschi/r/spiral.png
any suggestions as to how i could get the spheres to renderf a bit
smoother and get antialiasing like in the jitter screenshot?
--
____________________________________________________
independent u.s. drum'n'bass --
http://vitriolix.com
#N canvas 415 0 788 966 12;
#X obj 259 409 gemwin;
#X msg 257 248 create;
#X msg 257 271 destroy;
#X msg 217 318 1;
#X msg 217 342 0;
#X obj 275 317 loadbang;
#X msg 309 385 reset;
#X obj 275 335 t b b;
#X msg 319 50 ; pd dsp 1;
#X obj 319 25 loadbang;
#X obj 553 272 gemwin;
#X floatatom 567 94 0 0 0 0 - - -;
#X floatatom 606 94 0 0 0 0 - - -;
#X floatatom 643 94 0 0 0 0 - - -;
#X floatatom 679 94 0 0 0 0 - - -;
#X obj 256 181 loadbang;
#X obj 256 225 t b b;
#X obj 256 203 delay 1000;
#X obj 549 11 loadbang;
#X obj 549 37 delay 1000;
#N canvas 573 96 723 698 lighting 0;
#X text 111 111 create and destroy the graphics window;
#X obj 14 362 gemwin;
#X msg 47 110 create;
#X msg 54 138 destroy;
#X msg 68 190 1;
#X msg 67 228 0;
#X msg 122 336 lighting 1;
#X obj 313 354 gemhead 1;
#X msg 122 305 lighting 0;
#X text 150 38 create a sphere with and without lighting;
#X text 313 314 gemhead has a value of 1 so that it is rendered before
the sphere is;
#X text 61 284 you can turn lighting on and off while it is running
;
#X text 110 210 turn rendering on and off;
#X msg 398 507 1 1 1;
#X msg 345 505 1 0 1;
#X text 449 501 change the lights color;
#X floatatom 389 355 0 0 0 0 - - -;
#X msg 185 424 debug 0;
#X msg 186 455 debug 1;
#X text 96 400 figure out where the light is;
#X obj 313 535 light;
#X text 240 558 creates a local light;
#X msg 434 436 2;
#X msg 477 436 3;
#X msg 390 438 1.1;
#X text 389 417 change the position of the light;
#X obj 313 395 rotateXYZ 0 -60 0;
#X obj 313 475 translateXYZ 2 0 0;
#X connect 2 0 1 0;
#X connect 3 0 1 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 1 0;
#X connect 7 0 26 0;
#X connect 8 0 1 0;
#X connect 13 0 20 1;
#X connect 14 0 20 1;
#X connect 16 0 26 2;
#X connect 17 0 20 0;
#X connect 18 0 20 0;
#X connect 22 0 27 1;
#X connect 23 0 27 1;
#X connect 24 0 27 1;
#X connect 26 0 27 0;
#X connect 27 0 20 0;
#X restore 15 15 pd lighting;
#X msg 264 358 lighting 1;
#X obj 15 182 s master-timer;
#X floatatom 15 162 5 0 0 0 - r-master-timer -;
#N canvas 0 0 486 336 balls 0;
#X obj 10 25 ts_ball 1;
#X obj 10 50 ts_ball 2;
#X obj 10 75 ts_ball 3;
#X obj 10 100 ts_ball 4;
#X obj 10 125 ts_ball 5;
#X obj 10 150 ts_ball 6;
#X obj 10 175 ts_ball 7;
#X obj 10 200 ts_ball 8;
#X obj 10 225 ts_ball 9;
#X obj 10 250 ts_ball 10;
#X obj 10 275 ts_ball 11;
#X obj 10 300 ts_ball 12;
#X obj 10 325 ts_ball 13;
#X obj 10 350 ts_ball 14;
#X obj 10 375 ts_ball 15;
#X obj 10 400 ts_ball 16;
#X obj 10 425 ts_ball 17;
#X obj 10 450 ts_ball 18;
#X obj 10 475 ts_ball 19;
#X obj 10 500 ts_ball 20;
#X obj 10 525 ts_ball 21;
#X obj 10 550 ts_ball 22;
#X obj 10 575 ts_ball 23;
#X obj 10 600 ts_ball 24;
#X obj 10 625 ts_ball 25;
#X obj 10 650 ts_ball 26;
#X obj 10 675 ts_ball 27;
#X obj 10 700 ts_ball 28;
#X obj 10 725 ts_ball 29;
#X obj 10 750 ts_ball 30;
#X obj 10 775 ts_ball 31;
#X obj 10 800 ts_ball 32;
#X obj 10 825 ts_ball 33;
#X obj 10 850 ts_ball 34;
#X obj 10 875 ts_ball 35;
#X obj 10 900 ts_ball 36;
#X obj 10 925 ts_ball 37;
#X obj 10 950 ts_ball 38;
#X obj 10 975 ts_ball 39;
#X obj 10 1000 ts_ball 40;
#X obj 10 1025 ts_ball 41;
#X obj 10 1050 ts_ball 42;
#X obj 10 1075 ts_ball 43;
#X obj 10 1100 ts_ball 44;
#X obj 10 1125 ts_ball 45;
#X obj 10 1150 ts_ball 46;
#X obj 10 1175 ts_ball 47;
#X obj 10 1200 ts_ball 48;
#X obj 10 1225 ts_ball 49;
#X obj 10 1250 ts_ball 50;
#X obj 10 1275 ts_ball 51;
#X obj 10 1300 ts_ball 52;
#X obj 10 1325 ts_ball 53;
#X obj 10 1350 ts_ball 54;
#X obj 10 1375 ts_ball 55;
#X obj 10 1400 ts_ball 56;
#X obj 10 1425 ts_ball 57;
#X obj 10 1450 ts_ball 58;
#X obj 10 1475 ts_ball 59;
#X obj 10 1500 ts_ball 60;
#X obj 10 1525 ts_ball 61;
#X obj 10 1550 ts_ball 62;
#X obj 10 1575 ts_ball 63;
#X obj 10 1600 ts_ball 64;
#X obj 10 0 ts_ball 0;
#X obj 10 0 ts_ball 0;
#X obj 10 0 ts_ball 0;
#X restore 109 15 pd balls;
#X floatatom 15 206 5 0 0 0 - - -;
#X obj 15 226 s master-divisor;
#X obj 236 189 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 13 266 gemhead;
#X obj 13 466 rotate;
#X floatatom 34 444 0 0 0 0 - - -;
#X obj 13 422 color;
#X msg 48 399 1 1 1;
#X msg 48 376 1 0 0;
#X floatatom 27 288 5 0 0 0 - - -;
#X floatatom 76 288 5 0 0 0 - - -;
#X floatatom 125 288 5 0 0 0 - - -;
#X obj 135 450 gemhead;
#X obj 135 473 world_light 1;
#X floatatom 27 334 5 0 0 0 - - -;
#X floatatom 71 334 5 0 0 0 - - -;
#X floatatom 115 334 5 0 0 0 - - -;
#X obj 13 489 circle;
#N canvas 91 300 458 308 master-timer 0;
#X floatatom 138 111 5 0 0 0 - - -;
#X obj 112 36 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 112 54 for++ 0 1e+007 10;
#X floatatom 141 181 5 0 0 0 - - -;
#X obj 153 219 s r-master-timer;
#X obj 142 155 * 0.01;
#X obj 152 21 inlet;
#X connect 0 0 5 0;
#X connect 1 0 2 0;
#X connect 2 0 0 0;
#X connect 3 0 4 0;
#X connect 5 0 3 0;
#X connect 6 0 2 0;
#X restore 188 67 pd master-timer;
#X msg 241 45 stop;
#X msg 188 44 start;
#X obj 13 353 scaleXYZ 6 -6 0;
#X msg 562 242 view 0 0 7;
#X msg 553 187 view $1 $2 $3 $4;
#X obj 544 114 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 541 225 view straigt down;
#X obj 13 307 translateXYZ 0 0 -3;
#X obj 188 21 loadbang;
#X msg 549 60 -7 -0.15 3 52;
#N canvas 270 293 999 527 mouse 0;
#X obj 59 27 gemmouse;
#X floatatom 60 56 5 0 0 0 - - -;
#X floatatom 72 77 5 0 0 0 - - -;
#X floatatom 90 97 5 0 0 0 - - -;
#X floatatom 104 116 5 0 0 0 - - -;
#X floatatom 116 137 5 0 0 0 - - -;
#X obj 172 16 key;
#X floatatom 184 43 5 0 0 0 - - -;
#X obj 172 68 select 97 100 119 115;
#X obj 430 476 s $0-gemwin;
#X obj 172 91 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 212 91 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 253 91 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 292 91 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 293 113 + 1;
#X obj 253 113 f;
#X obj 14 478 f;
#X obj 14 454 r mouse-center-x;
#X obj 152 478 f;
#X obj 152 454 r mouse-center-y;
#X floatatom 45 481 5 0 0 0 - - -;
#X floatatom 184 479 5 0 0 0 - - -;
#X obj 6 141 s mouse-raw-x;
#X obj 14 167 s mouse-raw-y;
#X obj 49 216 s mouse-middle-click;
#X obj 33 193 s mouse-left-click;
#X obj 62 240 s mouse-right-click;
#N canvas 31 550 458 308 get_mouse_center 0;
#X obj 116 177 f;
#X obj 149 176 f;
#X obj 114 205 s mouse-center-x;
#X obj 114 232 s mouse-center-y;
#X obj 67 103 r mouse-middle-click;
#X obj 135 125 r mouse-raw-x;
#X obj 168 147 r mouse-raw-y;
#X obj 68 126 sel 1;
#X connect 0 0 2 0;
#X connect 1 0 3 0;
#X connect 4 0 7 0;
#X connect 5 0 0 1;
#X connect 6 0 1 1;
#X connect 7 0 0 0;
#X connect 7 0 1 0;
#X restore 57 331 pd get_mouse_center;
#X obj 363 24 r mouse-raw-x;
#X obj 504 23 r mouse-raw-y;
#X floatatom 504 122 5 0 0 0 - - -;
#X floatatom 363 125 5 0 0 0 - - -;
#N canvas 631 26 456 306 change 0;
#X obj 14 8 inlet;
#X obj 11 270 outlet;
#X obj 41 151 -;
#X obj 60 124 f;
#X floatatom 41 176 5 0 0 0 - - -;
#X obj 14 33 change;
#X obj 16 61 t f f b;
#X connect 0 0 5 0;
#X connect 2 0 4 0;
#X connect 2 0 1 0;
#X connect 3 0 2 1;
#X connect 5 0 6 0;
#X connect 6 0 3 1;
#X connect 6 1 2 0;
#X connect 6 2 3 0;
#X restore 363 100 pd change;
#N canvas 631 26 454 304 change 0;
#X obj 14 8 inlet;
#X obj 11 270 outlet;
#X obj 41 151 -;
#X obj 60 124 f;
#X floatatom 41 176 5 0 0 0 - - -;
#X obj 14 33 change;
#X obj 16 61 t f f b;
#X connect 0 0 5 0;
#X connect 2 0 4 0;
#X connect 2 0 1 0;
#X connect 3 0 2 1;
#X connect 5 0 6 0;
#X connect 6 0 3 1;
#X connect 6 1 2 0;
#X connect 6 2 3 0;
#X restore 504 97 pd change;
#X msg 348 408 view $1 $2 $3 $4;
#X obj 352 201 f;
#X obj 388 203 +;
#X obj 362 176 t b f;
#X obj 492 194 f;
#X obj 528 196 +;
#X obj 502 169 t b f;
#X obj 432 253 pack f f;
#X msg 384 370 view -7 -0.15 3 $1 $2;
#X obj 378 153 * 0.5;
#X obj 504 144 * -0.5;
#X obj 685 271 f;
#X obj 719 271 + 0.1;
#X floatatom 700 310 5 0 0 0 - - -;
#X obj 669 30 r mouse-left-click;
#X obj 669 106 select 1;
#X obj 688 133 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 720 133 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 659 221 spigot;
#X obj 702 184 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X msg 668 160 1;
#X msg 729 157 0;
#X obj 634 192 metro 50;
#X obj 630 166 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X msg 802 243 -0.1;
#X msg 721 241 0.1;
#X obj 838 110 select 1;
#X obj 838 137 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 889 137 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 838 34 r mouse-right-click;
#X obj 606 139 loadbang;
#X obj 708 357 inlet;
#X obj 710 387 s $0-nabl;
#X obj 406 54 r $0-nabl;
#X obj 363 76 spigot;
#X obj 547 52 r $0-nabl;
#X obj 504 74 spigot;
#X obj 712 59 r $0-nabl;
#X obj 669 81 spigot;
#X obj 881 59 r $0-nabl;
#X obj 838 81 spigot;
#X connect 0 0 1 0;
#X connect 0 1 2 0;
#X connect 0 2 3 0;
#X connect 0 3 4 0;
#X connect 0 4 5 0;
#X connect 1 0 22 0;
#X connect 2 0 23 0;
#X connect 3 0 25 0;
#X connect 4 0 24 0;
#X connect 5 0 26 0;
#X connect 6 0 7 0;
#X connect 6 0 8 0;
#X connect 8 0 10 0;
#X connect 8 1 11 0;
#X connect 8 2 12 0;
#X connect 8 3 13 0;
#X connect 12 0 15 0;
#X connect 17 0 16 0;
#X connect 17 0 20 0;
#X connect 19 0 18 0;
#X connect 19 0 21 0;
#X connect 28 0 68 0;
#X connect 29 0 70 0;
#X connect 30 0 44 0;
#X connect 31 0 43 0;
#X connect 32 0 31 0;
#X connect 33 0 30 0;
#X connect 34 0 9 0;
#X connect 35 0 36 0;
#X connect 35 0 41 0;
#X connect 36 0 35 1;
#X connect 36 0 42 0;
#X connect 37 0 35 0;
#X connect 37 1 36 1;
#X connect 38 0 39 0;
#X connect 38 0 41 1;
#X connect 39 0 38 1;
#X connect 40 0 38 0;
#X connect 40 1 39 1;
#X connect 41 0 42 0;
#X connect 42 0 9 0;
#X connect 43 0 37 0;
#X connect 44 0 40 0;
#X connect 45 0 47 0;
#X connect 45 0 46 0;
#X connect 46 0 45 1;
#X connect 48 0 72 0;
#X connect 49 0 50 0;
#X connect 49 0 54 0;
#X connect 49 1 51 0;
#X connect 50 0 59 0;
#X connect 51 0 55 0;
#X connect 52 0 45 0;
#X connect 53 0 52 1;
#X connect 54 0 53 0;
#X connect 55 0 53 0;
#X connect 56 0 52 0;
#X connect 57 0 56 0;
#X connect 58 0 46 1;
#X connect 59 0 46 1;
#X connect 60 0 61 0;
#X connect 60 1 62 0;
#X connect 61 0 58 0;
#X connect 61 0 54 0;
#X connect 62 0 55 0;
#X connect 63 0 74 0;
#X connect 64 0 57 0;
#X connect 65 0 66 0;
#X connect 67 0 68 1;
#X connect 68 0 32 0;
#X connect 69 0 70 1;
#X connect 70 0 33 0;
#X connect 71 0 72 1;
#X connect 72 0 49 0;
#X connect 73 0 74 1;
#X connect 74 0 60 0;
#X restore 15 93 pd mouse;
#X obj 590 160 r $0-gemwin;
#X msg 257 294 dimen 400 400;
#X floatatom 719 94 5 0 0 0 - - -;
#X obj 553 135 pack f f f f f;
#X floatatom 555 444 5 0 0 0 - - -;
#X floatatom 631 444 5 0 0 0 - - -;
#X obj 555 463 s first-x;
#X obj 631 463 s second-x;
#X floatatom 555 487 5 0 0 0 - - -;
#X floatatom 631 487 5 0 0 0 - - -;
#X obj 555 506 s first-y;
#X obj 631 506 s second-y;
#X obj 396 526 s offset;
#X floatatom 396 506 5 0 0 0 - - -;
#X msg 397 431 11.32;
#X msg 452 431 11.09;
#X msg 397 477 0.02;
#X msg 452 454 3.47;
#X msg 397 454 0.09;
#N canvas 0 0 452 302 create 0;
#X obj 16 39 f;
#X floatatom 34 179 5 0 0 0 - - -;
#X obj 56 40 + 1;
#X obj 22 205 * 25;
#X obj 22 230 pack;
#X msg 15 6 0;
#X msg 22 254 ; pd-balls obj 10 $1 ts_ball $2 ;;
#X obj 134 180 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X msg 90 94 1;
#X msg 35 95 0;
#X obj 91 200 spigot;
#X obj 91 137 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X msg 161 109 ; init-bang bang;
#X obj 91 156 delay 50;
#X obj 35 67 select 64;
#X connect 0 0 1 0;
#X connect 0 0 2 0;
#X connect 0 0 3 0;
#X connect 0 0 14 0;
#X connect 1 0 4 1;
#X connect 2 0 0 1;
#X connect 3 0 4 0;
#X connect 4 0 6 0;
#X connect 5 0 0 0;
#X connect 7 0 10 1;
#X connect 8 0 7 0;
#X connect 9 0 7 0;
#X connect 9 0 12 0;
#X connect 10 0 0 0;
#X connect 10 0 13 0;
#X connect 11 0 13 0;
#X connect 13 0 10 0;
#X connect 14 0 9 0;
#X connect 14 1 8 0;
#X restore 15 39 pd create balls;
#X floatatom 509 464 5 0 0 0 - - -;
#X msg 452 477 1;
#X msg 397 406 4;
#X msg 668 243 view 0 0 9;
#X obj 15 74 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X connect 1 0 0 0;
#X connect 2 0 0 0;
#X connect 3 0 0 0;
#X connect 4 0 0 0;
#X connect 5 0 7 0;
#X connect 6 0 0 0;
#X connect 7 0 21 0;
#X connect 7 1 6 0;
#X connect 9 0 8 0;
#X connect 11 0 58 0;
#X connect 12 0 49 0;
#X connect 12 0 58 1;
#X connect 13 0 49 0;
#X connect 13 0 58 2;
#X connect 14 0 49 0;
#X connect 14 0 58 3;
#X connect 15 0 17 0;
#X connect 16 0 3 0;
#X connect 16 1 1 0;
#X connect 17 0 16 0;
#X connect 18 0 19 0;
#X connect 19 0 53 0;
#X connect 21 0 0 0;
#X connect 23 0 22 0;
#X connect 25 0 26 0;
#X connect 27 0 17 0;
#X connect 28 0 51 0;
#X connect 29 0 42 0;
#X connect 30 0 29 1;
#X connect 31 0 29 0;
#X connect 32 0 31 1;
#X connect 33 0 31 1;
#X connect 34 0 51 1;
#X connect 35 0 51 2;
#X connect 36 0 51 3;
#X connect 37 0 38 0;
#X connect 39 0 46 1;
#X connect 40 0 46 2;
#X connect 41 0 46 3;
#X connect 44 0 43 0;
#X connect 45 0 43 0;
#X connect 46 0 31 0;
#X connect 47 0 10 0;
#X connect 48 0 10 0;
#X connect 49 0 58 0;
#X connect 51 0 46 0;
#X connect 52 0 45 0;
#X connect 53 0 58 0;
#X connect 55 0 10 0;
#X connect 56 0 0 0;
#X connect 57 0 49 0;
#X connect 57 0 58 4;
#X connect 58 0 48 0;
#X connect 59 0 61 0;
#X connect 60 0 62 0;
#X connect 63 0 65 0;
#X connect 64 0 66 0;
#X connect 68 0 67 0;
#X connect 69 0 68 0;
#X connect 70 0 68 0;
#X connect 71 0 68 0;
#X connect 72 0 68 0;
#X connect 73 0 68 0;
#X connect 75 0 59 0;
#X connect 75 0 63 0;
#X connect 76 0 68 0;
#X connect 77 0 68 0;
#X connect 78 0 10 0;
#X connect 79 0 54 0;
#N canvas 434 33 994 738 12;
#X floatatom 133 405 5 0 0 0 - - -;
#X floatatom 452 384 5 0 0 0 - - -;
#X floatatom 725 430 5 0 0 0 - - -;
#X floatatom 429 285 5 0 0 0 - - -;
#X obj 319 483 gemhead;
#X obj 319 614 sphere;
#X text 421 587 change the number of slices;
#X msg 384 588 15;
#X msg 347 588 5;
#X obj 319 509 translateXYZ;
#X floatatom 133 450 5 0 0 0 - - -;
#X floatatom 452 432 5 0 0 0 - - -;
#X floatatom 725 479 5 0 0 0 - - -;
#X obj 133 426 * 1;
#X obj 452 406 * 1;
#X obj 725 453 * 1;
#X obj 319 561 scaleXYZ 0.1;
#X floatatom 379 538 5 0 0 0 - - -;
#X obj 405 72 r master-timer;
#X obj 602 196 $1;
#X obj 283 120 loadbang;
#X obj 431 245 expr ($f1 / $f2) - $f3;
#X msg 515 219 10;
#X obj 437 98 r master-divisor;
#X obj 283 143 r init-bang;
#X obj 283 166 nop;
#X obj 725 407 expr cos(20 * $f1);
#X msg 174 289 4;
#X obj 25 312 expr ($f2 + sin($f3 * $f1)) * cos($f1);
#X msg 324 288 20;
#X obj 28 340 expr (4 + sin(20 * $f1)) * cos($f1);
#X obj 458 361 expr (4 + sin(20 * $f1)) * sin($f1);
#X obj 452 338 expr ($f2 + sin($f3 * $f1)) * sin($f1);
#X msg 760 317 20;
#X msg 610 315 4;
#X obj 702 108 loadbang;
#X obj 702 131 r init-bang;
#X obj 702 154 nop;
#X obj 601 292 r first-y;
#X obj 751 291 r second-y;
#X obj 324 265 r second-x;
#X obj 174 266 r first-x;
#X obj 602 220
*;
#X obj 602 94 r offset;
#X msg 633 196 0.03;
#X obj 621 155 * 0.1;
#X obj 606 124 t b f;
#X connect 0 0 13 0;
#X connect 1 0 14 0;
#X connect 2 0 15 0;
#X connect 3 0 26 0;
#X connect 3 0 28 0;
#X connect 3 0 32 0;
#X connect 4 0 9 0;
#X connect 7 0 5 2;
#X connect 8 0 5 2;
#X connect 9 0 16 0;
#X connect 10 0 9 1;
#X connect 11 0 9 2;
#X connect 12 0 9 3;
#X connect 13 0 10 0;
#X connect 14 0 11 0;
#X connect 15 0 12 0;
#X connect 16 0 5 0;
#X connect 17 0 16 2;
#X connect 18 0 21 0;
#X connect 19 0 42 0;
#X connect 20 0 25 0;
#X connect 21 0 3 0;
#X connect 22 0 21 1;
#X connect 23 0 21 1;
#X connect 24 0 25 0;
#X connect 25 0 22 0;
#X connect 25 0 29 0;
#X connect 25 0 27 0;
#X connect 26 0 2 0;
#X connect 27 0 28 1;
#X connect 28 0 0 0;
#X connect 29 0 28 2;
#X connect 32 0 1 0;
#X connect 33 0 32 2;
#X connect 34 0 32 1;
#X connect 35 0 37 0;
#X connect 36 0 37 0;
#X connect 37 0 34 0;
#X connect 37 0 33 0;
#X connect 37 0 44 0;
#X connect 37 0 19 0;
#X connect 38 0 32 1;
#X connect 39 0 32 2;
#X connect 40 0 28 2;
#X connect 41 0 28 1;
#X connect 42 0 21 2;
#X connect 43 0 46 0;
#X connect 44 0 42 1;
#X connect 45 0 42 1;
#X connect 46 0 19 0;
#X connect 46 1 45 0;