File talk:Cavallo's multiplier labelled.jpg

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search

This was the POV code used to generate the image:

#include "colors.inc"
#include "textures.inc"
#include "woods.inc"
                            
#declare hingepin=150;
#declare rod_end=-60;
#declare support_radius=2;
#declare plate_thickness=3.5;

background { color White }
light_source { <500, 700, 200> color White}
light_source { <-300, 700, -200> color White}
camera {location <600,200,-100> direction <0,0,2> look_at <100,50,50> }
//camera {location <35,35,-20> look_at <0,35,-10> }     // Close up on earthing pin

// Base
box {<-25,0,-15>, <hingepin+25,10,hingepin+25> 
    texture { T_Wood7 scale <10, 5, 1>  rotate <0, 90, 2> translate <0, 0, 2> }
    }
    
#declare foot=object {
                    torus {7.5,7.5} texture { T_Wood7 scale <10, 5, 1>  rotate <0, 90, 2> translate <0, 0, 2> }
                    }    
object { foot translate <0,-7.5,0> }                   
object { foot translate <hingepin,-7.5,0> } 
object { foot translate <0,-7.5,hingepin> } 
object { foot translate <hingepin,-7.5,hingepin> } 
      
#declare plate=cylinder {<-plate_thickness/2,90,0>, <plate_thickness/2,90,0>, 36  texture {Aluminum} finish { reflection {0.25} } }
#declare support=cylinder {<0,10,0>, <0,64,0>, support_radius }

#declare earth_pin=union {
                            cylinder { 
                                <0,10,-10>, <0,35,-10>, support_radius 
                                }
                            sphere { <0,35,-10>, 4 }
                            }

#declare insulated_plate =  union {
                            object { plate}
                            object { support
                                pigment{rgbf <0.95,0.97,0.95,0.75>}
                                interior { ior 1.5 }
                                finish { phong 0.9 phong_size 40 reflection 0.2 } }
                            }
                               
#declare earthed_plate =  union {
                                object { plate}
                                object { support
                                    texture { Brass_Metal } 
                                    finish  { reflection 0.4 }
                                    }
                                }               
            
#declare plate_B=union  {
                        object { plate }
                        cylinder {<0,20,0>, <0,64,0>, support_radius } 
                        pigment{rgbf <0.95,0.97,0.95,0.75>}
                        interior { ior 1.5 }
                        finish { phong 0.9 phong_size 40 reflection 0.2 }
                        }

#declare earth_wire=union {
                            cylinder { <0,90,0>, <0,90,-56> 0.5 }
                            cylinder { <0,90,-55.5>, <-7.5,90,-55.5>, 0.5 }
                          }               // Earthing wire
#declare assembly_B=union   {
                            object  { plate_B }
                            object { earth_wire
                                translate <0,-90,0>
                                rotate <-80,0,0>
                                translate <0,90,0>
                                finish  { reflection 0.4 }
                                texture { Brass_Metal }
                                }
                            cylinder { <0,10,hingepin>, <0,27.5,hingepin>, 3 texture {Brass_Metal} }    // Hinge pin
                            box {<-5,15,rod_end>, <5,25,hingepin+10>                                    // Control rod
                                texture { T_Wood1 scale <10, 5, 1> rotate <0, 90, 2> translate <0, 0, 2> }
                                }
                            lathe   {                                                                   // Handle
                                    quadratic_spline 5, <0,0>, <5,0>, <3,5>, <5.5,30>, <0,35>
                                    texture { T_Wood1 scale <10, 10, 1>}
                                    rotate<-90,0,0> translate <0,20,rod_end>
                                    }
                            }

object { insulated_plate                // Plate A
            translate <0,0,-hingepin> 
            rotate <0,0,0>
            translate <0,0,hingepin>}
            
object { insulated_plate                // Plate C
            translate <0,0,-hingepin> 
            rotate <0,-90,0>
            translate <0,0,hingepin>}
            
object { earthed_plate                  // Plate D
            translate <0,0,-hingepin> 
            rotate <0,-93,0>
            translate <0,0,hingepin>}
                                        
object { assembly_B            
        translate <0,0,-hingepin>
        rotate <0,-25,0>
        translate <0,0,hingepin>
        }

object { earth_pin 
            texture { Brass_Metal }
            finish  { reflection 0.4 }}