-- Tank my_model(x[3], a[1]) { xt = x[1]; yt = x[2]; zt = x[3]; -- base_body -- base_body_x = 7^2 - xt^2; base_body_y = 3^2 - yt^2; base_body_z = 9^2 - zt^2; base_body = base_body_x & base_body_y & base_body_z; cut_body_x = 2^2 - (xt-6)^2; cut_body_y = 1^2 - (yt+1.5)^2; cut_body_z = 8^2 - zt^2; cut_body = cut_body_x & cut_body_y & cut_body_z; cut_body2_x = 2^2 - (xt+6)^2; cut_body2_y = 1^2 - (yt+1.5)^2; cut_body2_z = 8^2 - zt^2; cut_body2 = cut_body2_x & cut_body2_y & cut_body2_z; body = base_body \ cut_body \ cut_body2; -- stand -- stand_x = 5^2 - xt^2; stand_y = 3^2 - (yt-5)^2; stand_z = 5^2 - zt^2; box_x = (3.0)^2 - (xt-4.5)^2; box_y = (2.2)^2 - (yt-5)^2; box_z = (2.0)^2 - zt^2; box = box_x & box_y & box_z; rocket_a = (0.7)^2 - (xt-6)^2 - (yt-6)^2; rocket_b = (0.7)^2 - (xt-6)^2 - (yt-4)^2; cut_rocket_z = 4^2 - (zt-2.5)^2; rocket = (rocket_a | rocket_b) \ (~cut_rocket_z); launcher = box | rocket; stand = stand_x & stand_y & stand_z; -- cannon -- cannon_a = 2^2 - xt^2 - (yt-5.5)^2; cannon_b = 1^2 - xt^2 - (yt-5.5)^2; cut_cube_x = 4^2 - xt^2; cut_cube_y = 4^2 - (yt-6)^2; cut_cube_z = 4^2 - (zt-7)^2; cut_cube = cut_cube_x & cut_cube_y & cut_cube_z; cannon = (cannon_a \ cannon_b) & cut_cube; -- caterpillar -- caterpillar_a = 2^2 - (yt+3)^2 - (zt/4)^2; cut_x = 7^2 - xt^2; cut2_x = 3^2 - xt^2; caterpillar = caterpillar_a \ (~cut_x) \ cut2_x; -- cover -- base_cover = 3^2 - xt^2 - zt^2; cut_cover_y = 1^2 - (yt-9)^2; cover = base_cover \ (~cut_cover_y); -- antenna -- base_antenna = (0.5)^2 - (xt+4.5)^2 - (zt+7.5)^2; cut_antenna_y = 6^2 - (yt-5)^2; antenna = base_antenna \ (~cut_antenna_y); my_model = body | stand | cannon | caterpillar | cover | antenna | launcher; }