#********************** FORMULA 1 RACING CAR ************************ # # THIS FILE WAS WRITEN BY : # # Adi Bar-Lev & Alon Raviv # # - 1/97 - # #******************************************************************** PRO0 = cbezier( list( ctlpt( P3, 1, -0.368, -0.05, 0.257 ), ctlpt( P3, 1, -0.316, -0.05, 0.256 ), ctlpt( P3, 1, -0.264, -0.05, 0.279 ), ctlpt( P3, 1, -0.311, -0.05, 0.296 ), ctlpt( P3, 1, -0.31, -0.05, 0.324 ), ctlpt( P3, 1, -0.354, -0.05, 0.338 ), ctlpt( P3, 1, -0.368, -0.05, 0.293 ), ctlpt( P3, 1, -0.388, -0.05, 0.339 ), ctlpt( P3, 1, -0.419, -0.05, 0.327 ), ctlpt( P3, 1, -0.425, -0.05, 0.293 ), ctlpt( P3, 1, -0.462, -0.05, 0.268 ), ctlpt( P3, 1, -0.422, -0.05, 0.257 ), ctlpt( P3, 1, -0.357, -0.05, 0.257 ) ) ); PRO1 = cbezier( list( ctlpt( P3, 1, -0.366, 0, 0.233 ), ctlpt( P3, 1, -0.18, 0, 0.23 ), ctlpt( P3, 1, -0.102, 0, 0.25 ), ctlpt( P3, 1, -0.112, 0, 0.321 ), ctlpt( P3, 1, -0.291, 0, 0.372 ), ctlpt( P3, 1, -0.315, 0, 0.46 ), ctlpt( P3, 1, -0.369, 0, 0.412 ), ctlpt( P3, 1, -0.426, 0, 0.47 ), ctlpt( P3, 1, -0.46, 0, 0.375 ), ctlpt( P3, 1, -0.609, 0, 0.321 ), ctlpt( P3, 1, -0.623, 0, 0.25 ), ctlpt( P3, 1, -0.555, 0, 0.233 ), ctlpt( P3, 1, -0.355, 0, 0.233 ) ) ); PRO2 = cbezier( list( ctlpt( P3, 1, -0.372, 0.5, 0.233 ), ctlpt( P3, 1, -0.186, 0.5, 0.23 ), ctlpt( P3, 1, -0.138, 0.5, 0.237 ), ctlpt( P3, 1, 0.056, 0.5, 0.275 ), ctlpt( P3, 1, -0.047, 0.5, 0.393 ), ctlpt( P3, 1, -0.165, 0.5, 0.588 ), ctlpt( P3, 1, -0.363, 0.5, 0.795 ), ctlpt( P3, 1, -0.561, 0.5, 0.588 ), ctlpt( P3, 1, -0.669, 0.5, 0.385 ), ctlpt( P3, 1, -0.754, 0.5, 0.274 ), ctlpt( P3, 1, -0.605, 0.5, 0.24 ), ctlpt( P3, 1, -0.561, 0.5, 0.233 ), ctlpt( P3, 1, -0.361, 0.5, 0.233 ) ) ); PRO3 = cbezier( list( ctlpt( P3, 1, -0.3077, 1, 0.0699 ), ctlpt( P3, 1, -0.2519, 1, 0.069 ), ctlpt( P3, 1, -0.1898, 1, 0.0711 ), ctlpt( P3, 1, -0.1337, 1, 0.0969 ), ctlpt( P3, 1, -0.2147, 1, 0.1608 ), ctlpt( P3, 1, -0.2669, 1, 0.2202 ), ctlpt( P3, 1, -0.3095, 1, 0.3174 ), ctlpt( P3, 1, -0.3542, 1, 0.222 ), ctlpt( P3, 1, -0.401, 1, 0.15 ), ctlpt( P3, 1, -0.476, 1, 0.0984 ), ctlpt( P3, 1, -0.4232, 1, 0.0729 ), ctlpt( P3, 1, -0.3644, 1, 0.0699 ), ctlpt( P3, 1, -0.3044, 1, 0.0699 ) ) ); PRO4 = cbezier( list( ctlpt( P3, 1, -0.078192, 1.5, 0.050544 ), ctlpt( P3, 1, -0.025704, 1.5, 0.049464 ), ctlpt( P3, 1, 0.017064, 1.5, 0.050544 ), ctlpt( P3, 1, 0.031968, 1.5, 0.089424 ), ctlpt( P3, 1, 0.003024, 1.5, 0.119448 ), ctlpt( P3, 1, -0.022248, 1.5, 0.18252 ), ctlpt( P3, 1, -0.077328, 1.5, 0.251856 ), ctlpt( P3, 1, -0.131112, 1.5, 0.181872 ), ctlpt( P3, 1, -0.154008, 1.5, 0.11772 ), ctlpt( P3, 1, -0.182736, 1.5, 0.09072 ), ctlpt( P3, 1, -0.171288, 1.5, 0.05076 ), ctlpt( P3, 1, -0.128304, 1.5, 0.050112 ), ctlpt( P3, 1, -0.07668, 1.5, 0.050544 ) ) ); PRO5 = cbezier( list( ctlpt( P3, 1, -0.364, 2.5, 0.237 ), ctlpt( P3, 2, 0.442, 5, 0.473 ), ctlpt( P3, 100, 44.155, 250, 23.768 ), ctlpt( P3, 20, 8.825, 50, 14.228 ), ctlpt( P3, 50, 26.162, 125, 51.897 ), ctlpt( P3, 6, 1.686, 15, 6.03 ), ctlpt( P3, 20, -7.321, 50, 20.605 ), ctlpt( P3, 6, -5.835, 15, 6.008 ), ctlpt( P3, 50, -59.434, 125, 53.251 ), ctlpt( P3, 20, -23.011, 50, 14.415 ), ctlpt( P3, 100, -114.962, 250, 23.968 ), ctlpt( P3, 2, -1.88, 5, 0.479 ), ctlpt( P3, 1, -0.353, 2.5, 0.237 ) ) ); PRO6 = cbezier( list( ctlpt( P3, 1, -0.364, 3.5, 0.237 ), ctlpt( P3, 2, 0.442, 7, 0.474 ), ctlpt( P3, 100, 44.2, 350, 23.8 ), ctlpt( P3, 20, 6.52, 70, 18.076 ), ctlpt( P3, 50, 29.701, 175, 54.437 ), ctlpt( P3, 6, 1.686, 21, 6.537 ), ctlpt( P3, 20, -7.252, 70, 22.9 ), ctlpt( P3, 6, -5.919, 21, 6.574 ), ctlpt( P3, 50, -65.369, 175, 54.434 ), ctlpt( P3, 20, -20.449, 70, 17.87 ), ctlpt( P3, 100, -115, 350, 24 ), ctlpt( P3, 2, -1.88, 7, 0.48 ), ctlpt( P3, 1, -0.353, 3.5, 0.237 ) ) ); PRO7 = cbezier( list( ctlpt( P3, 1, -0.368, 3.7, 0.241 ), ctlpt( P3, 2, 0.112, 7.4, 0.482 ), ctlpt( P3, 100, 10.843, 370, 20.661 ), ctlpt( P3, 50, -4.659, 185, 38.579 ), ctlpt( P3, 50, 15.988, 185, 60.786 ), ctlpt( P3, 6, 1.555, 22.2, 6.967 ), ctlpt( P3, 20, -7.231, 74, 20.894 ), ctlpt( P3, 6, -5.735, 22.2, 6.932 ), ctlpt( P3, 50, -50.707, 185, 61.448 ), ctlpt( P3, 50, -30.707, 185, 37.888 ), ctlpt( P3, 100, -82.428, 370, 20.861 ), ctlpt( P3, 2, -1.535, 7.4, 0.48 ), ctlpt( P3, 1, -0.357, 3.7, 0.241 ) ) ); PRO8 = cbezier( list( ctlpt( P3, 1, -0.368, 5, 0.241 ), ctlpt( P3, 2, 0.112, 10, 0.482 ), ctlpt( P3, 100, 10.843, 500, 20.661 ), ctlpt( P3, 50, -4.659, 250, 38.579 ), ctlpt( P3, 50, 15.988, 250, 60.786 ), ctlpt( P3, 6, 1.555, 30, 6.967 ), ctlpt( P3, 20, -7.231, 100, 20.894 ), ctlpt( P3, 6, -5.735, 30, 6.932 ), ctlpt( P3, 50, -50.707, 250, 61.448 ), ctlpt( P3, 50, -30.707, 250, 37.888 ), ctlpt( P3, 100, -82.428, 500, 20.861 ), ctlpt( P3, 2, -1.535, 10, 0.48 ), ctlpt( P3, 1, -0.357, 5, 0.241 ) ) ); PRO8A = cbezier( list( ctlpt( P3, 1, -0.368, 5, 0.241 ), ctlpt( P3, 2, 0.112, 10, 0.482 ), ctlpt( P3, 100, 10.843, 500, 20.661 ), ctlpt( P3, 50, -4.659, 250, 38.579 ), ctlpt( P3, 50, 15.988, 250, 60.786 ), ctlpt( P3, 6, 1.555, 30, 6.967 ), ctlpt( P3, 20, -7.231, 100, 20.894 ), ctlpt( P3, 6, -5.735, 30, 6.932 ), ctlpt( P3, 50, -50.707, 250, 61.448 ), ctlpt( P3, 50, -30.707, 250, 37.888 ), ctlpt( P3, 100, -82.428, 500, 20.861 ), ctlpt( P3, 2, -1.535, 10, 0.48 ), ctlpt( P3, 1, -0.357, 5, 0.241 ) ) ); PRO8B = cbezier( list( ctlpt( P3, 1, -0.355, 5, 0.96 ), ctlpt( P3, 2, -0.686, 10, 1.922 ), ctlpt( P3, 100, -33.74, 500, 96.489 ), ctlpt( P3, 50, -16.532, 250, 48.328 ), ctlpt( P3, 70, -22.704, 350, 68.011 ), ctlpt( P3, 70, -22.965, 350, 68.382 ), ctlpt( P3, 20, -7.044, 100, 19.651 ), ctlpt( P3, 70, -25.833, 350, 68.415 ), ctlpt( P3, 70, -26.305, 350, 68.308 ), ctlpt( P3, 50, -18.972, 250, 48.169 ), ctlpt( P3, 100, -37.58, 500, 96.584 ), ctlpt( P3, 2, -0.732, 10, 1.918 ), ctlpt( P3, 1, -0.355, 5, 0.959 ) ) ); PROS1 = list( PRO0, PRO1, PRO2, PRO3, PRO4, PRO5, PRO6 ); PROS2 = list( PRO6, PRO7 ); PROS3 = list( PRO7, PRO8 ); PROS4 = list( PRO8A, PRO8B ); start_body = bzr2bsp( pro0 ); start_body = boolone( start_body ); body1 = sfromcrvs( pros1 ,7); body2 = sfromcrvs( pros2 ,2); body3 = sfromcrvs( pros3 ,2); body4 = sfromcrvs( pros4 ,2); end_body = bzr2bsp( pro8b ); end_body = boolone( end_body ); body = list( start_body ,body1 ,body2 ,body3 ,body4 ,end_body ); color( body ,white ); #----------- END OF BODY DESIGN -> NOW FOR THE UPPER DISIGN --------- COCPIT1 = cbezier( list( ctlpt( P3, 1, -0.279, 0, 0.439 ), ctlpt( P3, 1, -0.311, 0, 0.522 ), ctlpt( P3, 1, -0.329, 0, 0.596 ), ctlpt( P3, 1, -0.356, 0, 0.492 ), ctlpt( P3, 1, -0.387, 0, 0.595 ), ctlpt( P3, 1, -0.407, 0, 0.518 ), ctlpt( P3, 1, -0.433, 0, 0.441 ) ) ); COCPIT2 = cbezier( list( ctlpt( P3, 1, -0.129, 1, 0.6 ), ctlpt( P3, 4, -0.655, 4, 3.093 ), ctlpt( P3, 1, -0.192, 1, 1.032 ), ctlpt( P3, 2, -0.726, 2, 2.217 ), ctlpt( P3, 1, -0.529, 1, 1.027 ), ctlpt( P3, 4, -2.2, 4, 3.086 ), ctlpt( P3, 1, -0.583, 1, 0.593 ) ) ); COCPIT3 = cbezier( list( ctlpt( P3, 1, -0.131, 1.5, 0.617 ), ctlpt( P3, 4, -0.554, 6, 3.253 ), ctlpt( P3, 1, -0.18, 1.5, 1.091 ), ctlpt( P3, 2, -0.725, 3, 2.305 ), ctlpt( P3, 1, -0.539, 1.5, 1.086 ), ctlpt( P3, 4, -2.302, 6, 3.228 ), ctlpt( P3, 1, -0.583, 1.5, 0.612 ) ) ); COCPIT3A = cbezier( list( ctlpt( P3, 1, -0.131, 1.52, 0.615 ), ctlpt( P3, 4, -0.537, 6.08, 3.237 ), ctlpt( P3, 2, -0.404, 3.04, 1.751 ), ctlpt( P3, 2, -0.732, 3.04, 1.469 ), ctlpt( P3, 2, -1.008, 3.04, 1.727 ), ctlpt( P3, 4, -2.319, 6.08, 3.237 ), ctlpt( P3, 1, -0.583, 1.52, 0.614 ) ) ); COCPIT4A = cbezier( list( ctlpt( P3, 1, -0.076, 2.25, 0.519 ), ctlpt( P3, 4, -0.402, 9, 3.51 ), ctlpt( P3, 2, -0.109, 4.5, 1.973 ), ctlpt( P3, 3, -1.105, 6.75, 2.34 ), ctlpt( P3, 2, -1.315, 4.5, 1.975 ), ctlpt( P3, 4, -2.421, 9, 3.465 ), ctlpt( P3, 1, -0.64, 2.25, 0.513 ) ) ); COCPIT4 = cbezier( list( ctlpt( P3, 1, -0.076, 2.26, 0.522 ), ctlpt( P3, 4, -0.461, 9.04, 3.586 ), ctlpt( P3, 2, 0, 4.52, 2.015 ), ctlpt( P3, 3, -1.08, 6.78, 3.906 ), ctlpt( P3, 2, -1.143, 4.52, 2.013 ), ctlpt( P3, 4, -2.379, 9.04, 3.937 ), ctlpt( P3, 1, -0.64, 2.26, 0.513 ) ) ); COCPIT5 = cbezier( list( ctlpt( P3, 1, -0.217, 2.75, 0.67 ), ctlpt( P3, 4, -1.016, 11, 3.188 ), ctlpt( P3, 2, -0.642, 5.5, 1.588 ), ctlpt( P3, 3, -1.065, 8.25, 2.947 ), ctlpt( P3, 2, -0.832, 5.5, 1.576 ), ctlpt( P3, 4, -1.894, 11, 3.221 ), ctlpt( P3, 1, -0.52, 2.75, 0.671 ) ) ); COCPIT6 = cbezier( list( ctlpt( P3, 1, -0.315, 3.25, 0.574 ), ctlpt( P3, 4, -1.368, 13, 2.488 ), ctlpt( P3, 2, -0.7, 6.5, 1.22 ), ctlpt( P3, 3, -1.092, 9.75, 1.902 ), ctlpt( P3, 2, -0.752, 6.5, 1.22 ), ctlpt( P3, 4, -1.548, 13, 2.484 ), ctlpt( P3, 1, -0.411, 3.25, 0.573 ) ) ); C1 = list( COCPIT1, COCPIT2, COCPIT3, COCPIT3A ); C2 = list( COCPIT3A, COCPIT4A ); C3 = list( COCPIT4A, COCPIT4 ); C4 = list( COCPIT4, COCPIT5, COCPIT6 ); Upper1 = sfromcrvs( c1 ,4); Upper2 = sfromcrvs( c2 ,2); Upper3 = sfromcrvs( c3 ,2); Upper4 = sfromcrvs( c4 ,3); Upper = list( Upper1 ,Upper2 ,Upper3 ,Upper4 ); Upper = Upper * rotx( 6 ); Upper = Upper * Trans( vector( 0 ,1.25 ,0.01) ); attrib( Upper ,"rgb" ,"100,100,160" ); #--------------- END OF UPPER PART - FRONT AND REAR WINGS --------------- FRONT_WING1 = cbezier( list( ctlpt( P3, 1, -1.1, -0.0705, 0.2755 ), ctlpt( P3, 1, -1.1, -0.001, 0.2755 ), ctlpt( P3, 1, -1.1, 0.3485, 0.266 ), ctlpt( P3, 1, -1.1, 0.368, 0.2855 ), ctlpt( P3, 3, -3.3, 1.203, 1.4595 ), ctlpt( P3, 1, -1.1, 0.343, 0.3185 ), ctlpt( P3, 2, -2.2, 0.566, 0.601 ), ctlpt( P3, 1, -1.1, 0.006, 0.3105 ), ctlpt( P3, 1, -1.1, -0.0855, 0.309 ), ctlpt( P3, 1, -1.1, -0.133, 0.2785 ), ctlpt( P3, 1, -1.1, -0.072, 0.2755 ) ) ); FRONT_WING2 = cbezier( list( ctlpt( P3, 1, 0.4, -0.0705, 0.2755 ), ctlpt( P3, 1, 0.4, -0.001, 0.2755 ), ctlpt( P3, 1, 0.4, 0.3485, 0.266 ), ctlpt( P3, 1, 0.4, 0.368, 0.2855 ), ctlpt( P3, 3, 1.2, 1.203, 1.4595 ), ctlpt( P3, 1, 0.4, 0.343, 0.3185 ), ctlpt( P3, 2, 0.8, 0.566, 0.601 ), ctlpt( P3, 1, 0.4, 0.006, 0.3105 ), ctlpt( P3, 1, 0.4, -0.0855, 0.309 ), ctlpt( P3, 1, 0.4, -0.133, 0.2785 ), ctlpt( P3, 1, 0.4, -0.072, 0.2755 ) ) ); REAR_WING1 = cbezier( list( ctlpt( P3, 1, -1.464, 4.39848, 1.3306 ), ctlpt( P3, 1, -1.464, 4.49856, 1.3306 ), ctlpt( P3, 1, -1.464, 5.00184, 1.3192 ), ctlpt( P3, 1, -1.464, 5.02992, 1.3426 ), ctlpt( P3, 3, -4.392, 15.2323, 4.7514 ), ctlpt( P3, 1, -1.464, 4.99392, 1.3822 ), ctlpt( P3, 2, -2.928, 9.81504, 2.7212 ), ctlpt( P3, 1, -1.464, 4.50864, 1.3726 ), ctlpt( P3, 1, -1.464, 4.37688, 1.3708 ), ctlpt( P3, 1, -1.464, 4.30848, 1.3342 ), ctlpt( P3, 1, -1.464, 4.39632, 1.3306 ) ) ); REAR_WING2 = cbezier( list( ctlpt( P3, 1, 0.796, 4.39848, 1.3306 ), ctlpt( P3, 1, 0.796, 4.49856, 1.3306 ), ctlpt( P3, 1, 0.796, 5.00184, 1.3192 ), ctlpt( P3, 1, 0.796, 5.02992, 1.3426 ), ctlpt( P3, 3, 2.388, 15.2323, 4.7514 ), ctlpt( P3, 1, 0.796, 4.99392, 1.3822 ), ctlpt( P3, 2, 1.592, 9.81504, 2.7212 ), ctlpt( P3, 1, 0.796, 4.50864, 1.3726 ), ctlpt( P3, 1, 0.796, 4.37688, 1.3708 ), ctlpt( P3, 1, 0.796, 4.30848, 1.3342 ), ctlpt( P3, 1, 0.796, 4.39632, 1.3306 ) ) ); wing_leg = CBSpline( 3 , list ( ctlpt(P3 ,1.000 ,-0.281 ,0.000 ,0.181) , ctlpt(P3 ,1.000 ,-0.278 ,0.000 ,0.181) , ctlpt(P3 ,1.000 ,0.036 ,0.000 ,0.260) , ctlpt(P3 ,1.000 ,0.036 ,0.000 ,0.260) , ctlpt(P3 ,1.000 ,-0.171 ,0.000 ,-0.157) , ctlpt(P3 ,2.000 ,-0.377 ,0.000 ,-1.388) , ctlpt(P3 ,5.000 ,-3.808 ,0.000 ,-3.577) , ctlpt(P3 ,1.000 ,-0.548 ,0.000 ,-0.192) , ctlpt(P3 ,1.000 ,-0.281 ,0.000 ,0.181) , ctlpt(P3 ,1.000 ,-0.278 ,0.000 ,0.174) ) ,list( 0.00000 ,1.00000 ,2.00000 ,3.00000 ,4.00000 , 5.00000 ,6.00000 ,7.00000 ,10.00000 ,11.00000 , 12.00000 ,13.00000 ,14.00000 ) ); wing_leg = wing_leg * rotz( 90 ); wing_leg = wing_leg * scale( vector( 0.7 ,0.7 ,0.7 ) ); wing_leg = wing_leg * trans( vector( -0.15 ,4.8 ,1.22 ) ); leg1 = -sweepsrf( circle( vector(0,0,0) ,0.012 ) ,wing_leg ,false ); #attrib( leg1 ,"rgb" ,"200 ,230 ,200" ); color( leg1 ,14 ); leg2 = leg1 * trans( vector( -0.40,0 ,0 ) ); FRONT_WING = -list( FRONT_WING1, FRONT_WING2 ); Front_Side1 = bzr2bsp( front_wing1 ); Front_Side1 = boolone( Front_Side1 ); Front_Side2 = bzr2bsp( front_wing2 ); Front_Side2 = boolone( Front_Side2 ); Front = list( sfromcrvs( FRONT_WING ,2 ) ,Front_Side1 ,Front_Side2 ); REAR_WING = -list( REAR_WING1 ,REAR_WING2 ); Rear_Side1 = bzr2bsp( rear_wing1 ); Rear_Side1 = boolone( Rear_Side1 ); Rear_Side2 = bzr2bsp( rear_wing2 ); Rear_Side2 = boolone( Rear_Side2 ); Rear = list( sfromcrvs( REAR_WING ,2 ) ,Rear_Side1 ,Rear_Side2 ); Rear = Rear * trans( vector( 0,0,0.01 ) ); twoWings = list( Front ,Rear ); color( twoWings ,red ); Wings = list( twoWings ,leg1 ,leg2 ); #--------------- END OF WINGS DESIGN - WHEEL SYSTEM IS NEXT --------------- tire_prof = CBezier( list ( ctlpt(P3 ,1.000 ,-0.797 ,0.000 ,0.089) , ctlpt(P3 ,5.000 ,-3.950 ,0.000 ,2.829) , ctlpt(P3 ,2.000 ,-0.769 ,0.000 ,1.046) , ctlpt(P3 ,8.000 ,-1.822 ,0.000 ,4.100) , ctlpt(P3 ,9.000 ,-3.523 ,0.000 ,6.085) , ctlpt(P3 ,9.000 ,-3.459 ,0.000 ,-4.740) , ctlpt(P3 ,8.000 ,-1.794 ,0.000 ,-2.420) , ctlpt(P3 ,2.000 ,-0.762 ,0.000 ,-0.705) , ctlpt(P3 ,5.000 ,-3.986 ,0.000 ,-2.011) , ctlpt(P3 ,1.000 ,-0.794 ,0.000 ,0.089) ) ); jent_prof = CBSpline( 2 , list ( ctlpt(P3 ,1.000 ,-0.799 ,0.000 ,0.095) , ctlpt(P3 ,1.000 ,-0.783 ,0.000 ,0.364) , ctlpt(P3 ,1.000 ,-0.842 ,0.000 ,0.360) , ctlpt(P3 ,1.000 ,-0.905 ,0.000 ,0.142) , ctlpt(P3 ,1.000 ,-1.111 ,0.000 ,0.127) , ctlpt(P3 ,1.000 ,-1.155 ,0.000 ,0.233) , ctlpt(P3 ,1.000 ,-1.206 ,0.000 ,0.237) , ctlpt(P3 ,1.000 ,-1.210 ,0.000 ,-0.138) , ctlpt(P3 ,1.000 ,-1.103 ,0.000 ,-0.134) , ctlpt(P3 ,1.000 ,-1.091 ,0.000 ,-0.071) , ctlpt(P3 ,1.000 ,-0.874 ,0.000 ,-0.075) , ctlpt(P3 ,1.000 ,-0.834 ,0.000 ,-0.127) , ctlpt(P3 ,1.000 ,-0.791 ,0.000 ,-0.127) , ctlpt(P3 ,1.000 ,-0.795 ,0.000 ,0.095) ) ,list( 0.00000 ,1.00000 ,2.00000 ,3.00000 ,4.00000 ,5.00000 , 6.00000 ,7.00000 ,8.00000 ,9.00000 ,10.00000 ,11.00000 , 12.00000 ,13.00000 ,14.00000 ,15.00000 ) ); tire_prof = tire_prof * trans( vector( 1.3 ,0 ,0 ) ); tire = surfrev( tire_prof ); tire = tire * roty(90); attrib( tire ,"rgb" ,"60,60,85" ); jent_prof = jent_prof * trans( vector( 1.3 ,0 ,0 ) ); jent = surfrev( jent_prof ); jent = jent * roty(90); attrib( jent ,"rgb" ,"210,180,180" ); wheel = list( jent ,tire ); front_wheel = wheel * scale( vector( 0.52 ,0.45 ,0.45) ); front_wheel = front_wheel * trans( vector( 0.275 ,0.85 ,0.3 ) ); front_left = front_wheel; front_right = front_wheel * rotz( 180 ); front_right = front_right * trans( vector( -0.68 ,1.7 ,0 ) ); rear_wheel = wheel * scale( vector( 0.9 ,0.68 ,0.68) ); rear_wheel = rear_wheel * trans( vector( 0.5 ,4.3 ,0.55 ) ); rear_left = rear_wheel; rear_right = rear_wheel * rotz( 180 ); rear_right = rear_right * trans( vector( -0.72 ,8.6 ,0 ) ); front_rod = cylin( vector( -1.1 ,.85 ,0.3) ,vector(1.55,0 ,0) ,0.04 ); attrib( front_rod ,"rgb" ,"90,80,80" ); rear_rod = cylin( vector(-1.49 ,4.3 ,0.55) ,vector(2.25,0 ,0) ,0.05); attrib( rear_rod ,"rgb" ,"90,80,80" ); wheels = list( front_right ,front_left ,rear_right ,rear_left , front_rod ,rear_rod ); #---------- END OF WHEELS DESIGN - THANKS FOR FLYING WITH US -------- FORMULA1 = list( body ,upper ,wings ,wheels ); ##################################################################### ##########.......##.###.##....#######....##. ###.##....############## #############.#####.###.##.##########.#####.#.##.##.###.############# #############.#####.....##...########...###.##.#.##.###.############# #############.#####.###.##.##########.#####.##.#.##.###.############# #############.#####.###.##....#######....##.###..##...############### #####################################################################