WORLD "GT2003" ( QUICKSHADING; QUICKMOVING; //////////////////////////////////////////////////////////////////////// // Colors in YUV AMBIENT (1.0,1.0,1.0); BACKGROUND (0,0.5,0.5); SURFACE "pink" (0.42,0.87,0.79); // RGB(1,0,1); SURFACE "sky blue" (0.69,0.36,0.63); // RGB(0.5,0.8,1); SURFACE "green" (0.4,0.40,0.40); // (0.30,0.13,0.21) RGB(0,1,0); SURFACE "yellow" (0.82,0.57,0.06); // RGB(1,1,0); SURFACE "orange" (0.57,0.76,0.21); // RGB(1,0.5,0); SURFACE "white" (0.95,0.50,0.50); // RGB(1.2,1.2,1.2); SURFACE "red" (0.3,0.8,0.4); // SURFACE "blue" (0.16,0.43,0.94); // RGB(0,0,1); SURFACE "gray" (0.6,0.50,0.50); SURFACE "frame" (0.7,0.50,0.50); SURFACE "world" (0.5,0.50,0.50); //////////////////////////////////////////////////////////////////////// // Field MACRO POLYEDER "base" ( BASEPOINTS ( (-2500,-1500,-0.01),(2500,-1500,-0.01), (2500,1500,-0.01),(-2500,1500,-0.01), (-2500,-1500,500),(2500,-1500,500), (2500,1500,500),(-2500,1500,500) ); FACES ((0,1,2,3;"white"),(0,1,5,4),(1,2,6,5),(2,3,7,6),(3,0,4,7)); SURFACE "frame"; TRANSPARENT; DL 8; ); MACRO POLYEDER "world" ( BASEPOINTS ( (-25000,-15000,0),(25000,-15000,0), (25000,15000,0),(-25000,15000,0), (-25000,-15000,15000),(25000,-15000,15000), (25000,15000,15000),(-25000,15000,15000) ); FACES ((4,5,6,7),(0,1,5,4),(1,2,6,5),(2,3,7,6),(3,0,4,7)); SURFACE "world"; TRANSPARENT; DL 8; ); MACRO POLYEDER "middle" ( BASEPOINTS ( (-1750,-1350,0),(-12.5,-1350,0), (-12.5,-162.5,0), (-62.2,-150.1,0), (-114.9,-114.9,0), (-150.1,-62.2,0), (-162.5,0,0), (-150.1,62.2,0), (-114.9,114.9,0), (-62.2,150.1,0), (-12.5,162.5,0), (-12.5,1350,0),(-1750,1350,0) ); FACES ((0,1,2,3,4,5,6,7,8,9,10,11,12)); SURFACE "green"; COLOR (0,1,0); TRANSPARENT; ); MACRO POLYEDER "center" ( BASEPOINTS ( (-12.5,-137.5,0), (-52.6,-127,0), (-97.2,-97.2,0), (-127,-52.6,0), (-137.5,0,0), (-127,52.6,0), (-97.2,97.2,0), (-52.6,127,0), (-12.5,137.5,0) ); FACES ((0,1,2,3,4,5,6,7,8)); SURFACE "green"; COLOR (0,1,0); TRANSPARENT; ); MACRO POLYEDER "penalty" ( BASEPOINTS ( (-2100,-1050,0),(-1800,-1350,0),(-1775,-1350,0), (-1775,1350,0),(-1800,1350,0),(-2100,1050,0) ); FACES ((0,1,2,3,4,5)); SURFACE "green"; COLOR (0,1,0); TRANSPARENT; ); MACRO POLYEDER "goalgreen" ( BASEPOINTS ( (-2125,-300,0),(-2450,-300,0),(-2450,300,0),(-2125,300,0) ); FACES ((0,1,2,3)); SURFACE "green"; COLOR (0,1,0); TRANSPARENT; ); MACRO POLYEDER "border" ( BASEPOINTS ( (-2100,-306,0),(-2100,-1050,0),(-1800,-1350,0), (1800,-1350,0),(2100,-1050,0),(2100,-306,0), (-2200,-306,100),(-2200,-1450,100), (2200,-1450,100),(2200,-306,100) ); FACES ( (0,1,7,6),(1,2,7),(2,3,8,7),(3,4,8),(4,5,9,8) ); SURFACE "white"; DL 7; ); MACRO POLYEDER "goal" ( BASEPOINTS ( (-2200,-300,0),(-2420,-300,0),(-2450,-270,0), (-2450,270,0),(-2420,300,0),(-2200,300,0), (-2200,-300,300),(-2420,-300,300),(-2450,-270,300), (-2450,270,300),(-2420,300,300),(-2200,300,300) ); FACES ( (0,1,7,6),(1,2,8,7),(2,3,9,8),(3,4,10,9),(4,5,11,10) ); DL 5; ); MACRO POLYEDER "goal outside" ( BASEPOINTS ( (-2100,-306,0),(-2456,-306,0),(-2456,306,0),(-2100,306,0), (-2200,-306,100),(-2200,306,100), (-2200,-306,300),(-2456,-306,300),(-2456,306,300),(-2200,306,300), (-2200,-306,0),(-2200,-300,0),(-2200,-300,300), (-2200,306,0),(-2200,300,0),(-2200,300,300) ); FACES ( (0,1,7,6,4),(1,2,8,7),(3,2,8,9,5),(10,11,12,6),(13,14,15,9) ); SURFACE "white"; DL 9; ); MACRO GROUP "field" [ MACRO "base"; MACRO "world"; MACRO "border"; MACRO "border" (TURNZ 180); MACRO "goal" (SURFACE "yellow"; COLOR (1,1,0)); MACRO "goal" (TURNZ 180; SURFACE "sky blue"; COLOR (0,0,1)); MACRO "goal outside"; MACRO "goal outside" (TURNZ 180); MACRO "center"; MACRO "center" (TURNZ 180); MACRO "middle"; MACRO "middle" (TURNZ 180); MACRO "penalty"; MACRO "penalty" (TURNZ 180); MACRO "goalgreen"; MACRO "goalgreen" (TURNZ 180); ]; //////////////////////////////////////////////////////////////////////// // Ball MACRO POLYEDER "ball" ( BASEPOINTS ( (0,0,0), (15.8,0,3.3), (30.0,0,12.6), (39.6,0,26.5), (43,0,43), (39.6,0,59.5), (30.0,0,73.4), (15.8,0,82.7), (0,0,86) ); ROTATE 16; MOVETO (0,0,0); SURFACE "orange"; COLOR (1,0.5,0); ); //////////////////////////////////////////////////////////////////////// // Bar MACRO POLYEDER "marker" ( BASEPOINTS ( (450,26,1),(230,26,1),(230,-26,1),(450,-26,1), (450,26,53),(230,26,53),(230,-26,53),(450,-26,53) ); FACES ((0,1,5,4),(2,3,7,6),(4,5,6,7)); DL 4; ); MACRO GROUP "bar" [ POLYEDER "foam" ( BASEPOINTS ( (450,25,2),(450,-25,2),(450,-25,52),(450,25,52) ); SWEEP (-900,0,0); SURFACE "white"; ); MACRO "marker" AS "red" (SURFACE "red"; COLOR (1,0,0)); MACRO "marker" AS "blue" (TURNZ 180; SURFACE "blue"; COLOR (0,0,1)); ]; //////////////////////////////////////////////////////////////////////// // Aibo MACRO POLYEDER "thigh" ( BASEPOINTS ( (-20,0,10),(20,0,10),(20,29,10),(-20,29,10), (-15,0,-43),(15,0,-43),(15,29,-43),(-15,29,-43) ); FACES ((1,2,6,5),(2,3,7,6),(3,0,4,7),(0,1,2,3)); SURFACE "gray"; DL 3; ); MACRO GROUP "left arm" ( MOVETO (-15.5,46.3,0); ) [ TURNABLE "y" ( Y_AXIS; RANGE (-120,120); FACTOR 10; TURNZ 180; ) [ TURNABLE "x" ( X_AXIS; RANGE (-15,90); FACTOR 10; TURNZ 180; ) [ MACRO "thigh"; TURNABLE "y" ( Y_AXIS; RANGE (-30,150); FACTOR 10; MOVETO (12,0,-64); TURNZ 180; ) [ POLYEDER "shank" ( BASEPOINTS ( (-5,0,10),(25,0,10),(25,-29,10),(-5,-29,10), (-10,0,-59),(25,0,-59),(25,-29,-59),(-10,-29,-59) ); FACES ((1,2,6,5),(2,3,7,6),(3,0,4,7),(0,1,2,3)); SURFACE "gray"; DL 3; ); WHISKER "touch" ( LENGTH 10; TURNY 180; MOVETO (0,-15,-60); DL 9; ); ]; ]; ]; ]; MACRO GROUP "right arm" ( MOVETO (-15.5,-46.3,0); ) [ TURNABLE "y" ( Y_AXIS; RANGE (-120,120); FACTOR 10; TURNZ 180; ) [ TURNABLE "x" ( X_AXIS; RANGE (-15,90); FACTOR 10; ) [ MACRO "thigh"; TURNABLE "y" ( Y_AXIS; RANGE (-30,150); FACTOR 10; MOVETO (-12,0,-64); ) [ POLYEDER "shank" ( BASEPOINTS ( (-5,0,10),(25,0,10),(25,29,10),(-5,29,10), (-10,0,-59),(25,0,-59),(25,29,-59),(-10,29,-59) ); FACES ((1,2,6,5),(2,3,7,6),(3,0,4,7),(0,1,2,3)); SURFACE "gray"; DL 3; ); WHISKER "touch" ( LENGTH 10; TURNY 180; MOVETO (0,15,-60); DL 9; ); ]; ] ]; ]; MACRO GROUP "left leg" ( MOVETO (-136.5,46.3,0); ) [ TURNABLE "y" ( Y_AXIS; RANGE (-120,120); FACTOR 10; ) [ TURNABLE "x" ( X_AXIS; RANGE (-15,90); FACTOR 10; ) [ MACRO "thigh"; TURNABLE "y" ( Y_AXIS; RANGE (-30,150); FACTOR 10; MOVETO (-12,0,-64); ) [ POLYEDER "shank" ( BASEPOINTS ( (-5,0,10),(25,0,10),(25,29,10),(-5,29,10), (-10,0,-66),(25,0,-66),(25,29,-66),(-10,29,-66) ); FACES ((1,2,6,5),(2,3,7,6),(3,0,4,7),(0,1,2,3)); SURFACE "gray"; DL 3; ); WHISKER "touch" ( LENGTH 10; TURNY 180; MOVETO (0,15,-67); DL 9; ); ]; ]; ]; ]; MACRO GROUP "right leg" ( MOVETO (-136.5,-46.3,0); ) [ TURNABLE "y" ( Y_AXIS; RANGE (-120,120); FACTOR 10; ) [ TURNABLE "x" ( X_AXIS; RANGE (-15,90); FACTOR 10; TURNZ 180; ) [ MACRO "thigh"; TURNABLE "y" ( Y_AXIS; RANGE (-30,150); FACTOR 10; MOVETO (12,0,-64); TURNZ 180; ) [ POLYEDER "shank" ( BASEPOINTS ( (-5,0,10),(25,0,10),(25,-29,10),(-5,-29,10), (-10,0,-66),(25,0,-66),(25,-29,-66),(-10,-29,-66) ); FACES ((1,2,6,5),(2,3,7,6),(3,0,4,7),(0,1,2,3)); SURFACE "gray"; DL 3; ); WHISKER "touch" ( LENGTH 10; TURNY 180; MOVETO (0,-15,-67); DL 9; ); ]; ]; ]; ]; MACRO POLYEDER "head" ( BASEPOINTS ( (-30,0,-20),(0,-37.4,-20),(66,-25,-20), (66,25,-20),(0,37.4,-20), (66,-15,20),(66,15,20), (0,-25,40),(0,25,40) ); FACES ( (0,1,7),(0,7,8),(0,4,8), (1,2,5,7),(2,3,6,5),(3,4,8,6), (7,8,6,5) ); SURFACE "gray"; ); MACRO POLYEDER "headmarker" ( BASEPOINTS ( (-30,0,-10),(0,-37.4,-10),(67,-25,-10), (67,25,-10),(0,37.4,-10), (67,-20,5),(67,20,5), (0,-31,15),(0,31,15) ); FACES ( (0,1,7),(0,7,8),(0,4,8), (1,2,5,7),(2,3,6,5),(3,4,8,6) ); DL 4; ); MACRO CAMERA "camera" ( RESOLUTION (176,144); SIZE (1.1086,0.8905); CLASS 0; CLASS 1; CLASS 2; //NOISE 0.1; ZBUFFER; TURNZ -90; TURNY 90; TURNZ -0.66; MOVETO (66.6,0,0); DL 9; ); MACRO TURNABLE "mouth" ( Y_AXIS; RANGE (-45,0); FACTOR 10; TURNZ 180; MOVETO (20,0,-21); ) [ POLYEDER "jaw" ( BASEPOINTS ( (0,-15,-4),(40,-10,-4),(40,10,-4),(0,15,-4), (0,-15,0),(40,-10,0),(40,10,0),(0,15,0) ); FACES ( (0,1,2,3),(0,1,5,4),(1,2,6,5),(2,3,7,6) ); TURNZ 180; SURFACE "gray"; DL 4; ); ]; MACRO TURNABLE "left ear" ( Y_AXIS; RANGE (0,70); FACTOR 10; MOVETO (-10,30,25); TURNZ 20; TURNX 30; ) [ POLYEDER "ear" ( BASEPOINTS ( (0,0,12.5),(-10,0,0),(0,0,-12.5),(0,35,0) ); FACES ( (0,1,3),(1,2,3) ); SURFACE "gray"; DL 4; ); ]; MACRO TURNABLE "right ear" ( Y_AXIS; RANGE (0,70); FACTOR 10; MOVETO (-10,-30,25); TURNZ -20; TURNX -30; ) [ POLYEDER "ear" ( BASEPOINTS ( (0,0,12.5),(-10,0,0),(0,0,-12.5),(0,-35,0) ); FACES ( (0,1,3),(1,2,3) ); SURFACE "gray"; DL 4; ); ]; MACRO POLYEDER "led" ( BASEPOINTS ( (0,-1,0),(17,-1,0),(17,1,0),(0,1,0) ); FACES ((0,1,2,3)); SURFACE "gray"; // camera does not see it DL 10; // initially off ); MACRO GROUP "leds" [ MACRO "led" AS "left bottom" (MOVETO (10,3,0); TURNZ 45; COLOR (1,0,0)); MACRO "led" AS "left middle" (MOVETO (5,3,0); TURNZ 130; COLOR (0,1,0)); MACRO "led" AS "left top" (MOVETO (-2,3,0); TURNZ 145; COLOR (1,0,0)); MACRO "led" AS "right bottom" (MOVETO (10,-3,0); TURNZ -45; COLOR (1,0,0)); MACRO "led" AS "right middle" (MOVETO (5,-3,0); TURNZ -135; COLOR (0,1,0)); MACRO "led" AS "right top" (MOVETO (-2,-3,0); TURNZ -145; COLOR (1,0,0)); MACRO "led" AS "center" (MOVETO (-20,-8.5,0); TURNZ 90; COLOR (0,1,0)); ]; MACRO POLYEDER "button" ( BASEPOINTS ( (10,10,0),(10,-10,0),(-10,-10,0),(-10,10,0) ); FACES ((0,1,2,3)); SURFACE "gray"; // camera does not see it DL 10; // initially off ); MACRO GROUP "buttons" [ MACRO "button" AS "back" (MOVETO (-15,0,0)); MACRO "button" AS "front" (MOVETO (20,0,0)); ]; MACRO WHISKER "PSD" ( LENGTH 900; MOVETO (67,0,0); TURNY 90; DL 10; // hide ); MACRO GROUP "blue head" ( MOVETO (0,0,50); ) [ TURNABLE "y" ( Y_AXIS; RANGE (-90,45); FACTOR 10; TURNZ 180; ) [ TURNABLE "z" ( Z_AXIS; RANGE (-90,90); FACTOR 10; TURNZ 180; ) [ TURNABLE "x" ( X_AXIS; RANGE (-30,30); FACTOR 10; MOVETO (0,0,48); ) [ MACRO "head"; MACRO "headmarker" (SURFACE "blue"; COLOR (0,0,1)); MACRO "mouth"; MACRO "left ear"; MACRO "right ear"; MACRO "leds" (MOVETO (30,0,32); TURNY 15); MACRO "buttons" (MOVETO (30,0,31.9); TURNY 15); MACRO "camera"; MACRO "PSD"; ]; ]; ]; ]; MACRO GROUP "red head" ( MOVETO (0,0,50); ) [ TURNABLE "y" ( Y_AXIS; RANGE (-90,45); FACTOR 10; TURNZ 180; ) [ TURNABLE "z" ( Z_AXIS; RANGE (-90,90); FACTOR 10; TURNZ 180; ) [ TURNABLE "x" ( X_AXIS; RANGE (-30,30); FACTOR 10; MOVETO (0,0,48); ) [ MACRO "head"; MACRO "headmarker" (SURFACE "red"; COLOR (1,0,0)); MACRO "mouth"; MACRO "left ear"; MACRO "right ear"; MACRO "leds" (MOVETO (30,0,32); TURNY 15); MACRO "buttons" (MOVETO (30,0,31.9); TURNY 15); MACRO "camera"; MACRO "PSD"; ]; ]; ]; ]; MACRO POLYEDER "body" ( BASEPOINTS ( (38,-37,45),(38,37,45),(38,30,-50),(38,-30,-50), (-162,-37,45),(-162,37,45),(-162,30,-50),(-162,-30,-50) ); FACES ( (0,1,2,3),(4,5,6,7),(0,1,5,4;"gray"), (1,2,6,5),(3,0,4,7) ); SURFACE "gray"; MOVETO(-15.5,0,0); ); MACRO POLYEDER "bodymarker" ( BASEPOINTS ( (39,-38,40),(39,38,40),(39,31,-40),(39,-31,-40), (-163,-38,40),(-163,38,40),(-163,31,-40),(-163,-31,-40) ); FACES ( (0,1,2,3),(4,5,6,7),(0,1,5,4), (1,2,6,5),(3,0,4,7) ); MOVETO(-15.5,0,0); ); MACRO GROUP "tail" ( MOVETO (-155,0,50); TURNZ 180; TURNY 15; ) [ TURNABLE "z" ( Z_AXIS; RANGE (-25,25); FACTOR 10; ) [ TURNABLE "y" ( Y_AXIS; RANGE (-25,25); FACTOR 10; TURNX 180; ) [ POLYEDER "tail" ( BASEPOINTS ( (5,0,0),(15,10,0),(15,-10,0), (15,5,10),(15,-5,10),(65,0,0) ); FACES ( (0,1,3),(0,3,4),(0,2,4), (5,1,3),(5,3,4),(5,2,4) ); TURNX 180; SURFACE "gray"; DL 1; ); POLYEDER "blue" ( BASEPOINTS ( (2,-3,0),(2,3,0),(8,3,0),(8,-3,0) ); FACES ((0,1,2,3)); COLOR (0,0,1); MOVETO (15,0,-10); TURNY -10; DL 10; ); POLYEDER "orange" ( BASEPOINTS ( (9,-3,0),(9,3,0),(15,3,0),(15,-3,0) ); FACES ((0,1,2,3)); COLOR (1,0.5,0); MOVETO (15,0,-10); TURNY -10; DL 10; ); ]; ]; ]; MACRO VEHICLE "Aibo red" ( RESTR_TRANS_X (-20,0,20); RESTR_ROT_Z (-2,0,2); )[ MACRO "bodymarker" (COLOR (1,0,0); SURFACE "red"); MACRO "body"; MACRO "button" AS "back" (SCALE 3; MOVETO (-77.5,0,45.1)); MACRO "left arm"; MACRO "right arm"; MACRO "left leg"; MACRO "right leg"; MACRO "red head" AS "head"; MACRO "tail"; ]; MACRO VEHICLE "Aibo blue" ( RESTR_TRANS_X (-20,0,20); RESTR_ROT_Z (-2,0,2); ) [ MACRO "bodymarker" (COLOR (0,0,1); SURFACE "blue"); MACRO "body"; MACRO "button" AS "back" (SCALE 3; MOVETO (-77.5,0,45.1)); MACRO "left arm"; MACRO "right arm"; MACRO "left leg"; MACRO "right leg"; MACRO "blue head" AS "head"; MACRO "tail"; ]; SCALE 1.3; ) //////////////////////////////////////////////////////////////////////// // Main [ MACRO "field"; GROUP "robots" [ MACRO "Aibo red" AS "AIBO1" (MOVETO (875,675,115); TURNZ 90); ]; GROUP "extras" [ MACRO "Aibo red" AS "AIBO2" (MOVETO (875,-675,115); TURNZ -90); ]; GROUP "balls" [ MACRO "ball" (MOVETO (875,0,0)); ]; ].