// Author: Karl Ostmo // Date: 2/13/2011 // Version: 1.0 // // Based loosely on: http://trainathomeguru.com/home-gym/#trap // Units are in inches // Sky include obtained from: // http://povray.tashcorp.net/library/sky_sphere/realskies.inc #include "colors.inc" #include "textures.inc" #include "metals.inc" #include "realskies.inc" #declare camera_pos = 60; #declare box_side = 22; #declare half_box_side = box_side/2; #declare plate_annulus_radius = 1.5; #declare flange_radius = 1.5*plate_annulus_radius; #declare bar_radius = plate_annulus_radius/2; #declare flange_length = 2; #declare flange_margin = flange_length; #declare plate_extension_length = 1.5*half_box_side; #declare grip_length = half_box_side/2; #declare triangle_apex = 2*half_box_side; camera { location <-camera_pos/5, -camera_pos, 3/4*camera_pos>*0.9 look_at 0 } plane { <0, 0, 1>, -flange_radius pigment { White } } light_source { <0, 0, 20*camera_pos> color 1.4*White } sky_sphere { sky_realsky_04 } #declare half_shape = merge { merge { // Bottom side cylinder { <half_box_side, -half_box_side, 0>, <0, -half_box_side, 0>, bar_radius } // Right side (leaves a gap for the grip) cylinder { <half_box_side, -half_box_side, 0>, <half_box_side, -grip_length/2, 0>, bar_radius } cylinder { <half_box_side, half_box_side, 0>, <half_box_side, grip_length/2, 0>, bar_radius } // Top side cylinder { <half_box_side, half_box_side, 0>, <0, half_box_side, 0>, bar_radius } // Rounded joints sphere { <half_box_side, half_box_side, 0>, bar_radius } sphere { <half_box_side, -half_box_side, 0>, bar_radius } // Left triangle cylinder { <half_box_side, half_box_side, 0>, <triangle_apex, 0, 0>, bar_radius } cylinder { <half_box_side, -half_box_side, 0>, <triangle_apex, 0, 0>, bar_radius } // Weight plate extension cylinder { <triangle_apex, 0, 0>, <triangle_apex + plate_extension_length, 0, 0>, bar_radius } pigment { Gray45 } } // Grip cylinder { <half_box_side, -grip_length/2, 0>, <half_box_side, grip_length/2, 0>, bar_radius pigment { Gray70 } } merge { cylinder { <triangle_apex + flange_margin, 0, 0>, <triangle_apex + plate_extension_length, 0, 0>, plate_annulus_radius } // Flange cylinder { <triangle_apex + flange_margin, 0, 0>, <triangle_apex + flange_margin + flange_length, 0, 0>, flange_radius } texture {T_Silver_4E} } } merge { object{ half_shape scale -1*x } object{ half_shape } }