File:Tackle principle.png

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

Original file(1,000 × 4,000 pixels, file size: 657 KB, MIME type: image/png)

Captions

Captions

Add a one-line explanation of what this file represents

Summary

[edit]
Description

Shows the principle, forces and traveling distances in a basic tackle. Rendered using POV-Ray (see http://www.povray.org/) and the scene description code shown below. This image comes complete with annotations; letters, numbers and arrows. Because of this, rendering this image with POV-Ray requires the free TrueType fonts "cmr10.ttf" (Computer Modern Roman) and "cmmi10.ttf" (Computer Modern italics) either in the same directory as the .pov or installed globally on the computer.

The scene description assumes that the image is four times as tall as it is wide! When rendering, remember to specify the width and height of the rendering accordingly.
Date 15 April 2005 (original upload date)
Source No machine-readable source provided. Own work assumed (based on copyright claims).
Author No machine-readable author provided. Peo~commonswiki assumed (based on copyright claims).

Licensing

[edit]
I, the copyright holder of this work, hereby publish it under the following licenses:
GNU head Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License.
w:en:Creative Commons
attribution share alike
This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.
You are free:
  • to share – to copy, distribute and transmit the work
  • to remix – to adapt the work
Under the following conditions:
  • attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.
This licensing tag was added to this file as part of the GFDL licensing update.
You may select the license of your choice.

POV-Ray scene description for this image:

 /*
  ================================================
  Demonstrating the principle of the basic tackle
  ------------------------------------------------
  Created by Søren Peo Pedersen - see my user page
  et http://da.wikipedia.org/wiki/Bruger:Peo
  ================================================
  */
 
  #macro WoodTxt(WhiteOut)  // Wood texture with specified
    pigment {               // degree of "whiting out"
      wood
      color_map {
        [0 color rgbt <.9+.1*WhiteOut,.7+.3*WhiteOut,.5+.5*WhiteOut>]
        [1 color rgbt <.7+.3*WhiteOut,.5+.5*WhiteOut,.4+.6*WhiteOut>]
        }
      scale .1
      turbulence .05
      translate <2,0,-1>
      }
    finish {ambient .4+.3*WhiteOut}  
  #end
 
  #macro RopeTxt(WhiteOut)  // Texture for ropes, with specified "whiting out"
    pigment {color rgb <1+.0*WhiteOut,.9+.1*WhiteOut,.6+.4*WhiteOut>}
    finish {ambient .4+.3*WhiteOut}
  #end
 
  #macro Tackle(WhiteOut)   // Renders the tackle, weight and parts of the rope
    #local WheelSideCut=difference {
      cone {<0,0,.03>,.35,<0,0,.13>,.45}
      cone {<0,0,.3>,0,<0,0,-.3>,.6}
      }
 
    #local MetalTxt=texture {   // Metal texture for hooks and weight
      pigment {color rgb .5+WhiteOut/4}
      finish {
        ambient .4+.2*WhiteOut
        reflection rgb .3
        metallic
        }
      }
 
    merge {
      difference {
        box {<-.45,-1,-.3>,<.45,.5,.3>} // "body" of tackle
        box {<-1,-.5,-.1>,<1,1,.1>}     // The "gap" for the wheel
        plane {<3,-1,0>,-.3}            // Left "slanted" side
        plane {<-3,-1,0>,-.3}           // Right "slanted" side
        texture {WoodTxt(WhiteOut) rotate <90,0,0>}
        }
 
      difference {                        // Wheel in the tackle
        cylinder {<0,0,-.09>,<0,0,.09>,.5}  // "Body" of the wheel
        torus {.5,.07 rotate <90,0,0>}      // Groove for the rope
        #object {WheelSideCut}                // Cut-aways on both
        #object {WheelSideCut scale <1,1,-1>} // sides of the wheel
        texture {MetalTxt}
        translate <0,.25,0>
        }
 
      cylinder {<0,.25,-.4>,<0,.25,.4>,.1 // Axle through
        texture {MetalTxt}                // wheel and tackle
        }
 
      sphere_sweep {b_spline,7            // Hook on the tackle
        <  0,-0.7,0>,.1
        <  0,-1  ,0>,.1
        <  0,-1.2,0>,.1
        < .3,-1.5,0>,.09      
        <  0,-1.8,0>,.08      
        <-.3,-1.5,0>,.06
        <-.3,-1.2,0>,.04
        texture {MetalTxt}
        }
 
      merge {                             // Weight attached to the hook
        difference {    // Round part of attachment ring
          torus {.2,.1 rotate <0,0,90>}
          plane {<0,1,0>,0}
          translate <0,-1.75,0>
          }
        cylinder {<0,-1.75,-.2>,<0,-1.85,-.2>,.1} // Straight parts of
        cylinder {<0,-1.75, .2>,<0,-1.85, .2>,.1} // attachment ring
        cone {<0,-1.85,0>,.4,<0,-2.8,0>,.6} // "Body" of the waight
        texture {MetalTxt}
        }
 
      merge {     // Rope around the wheel in the tacle
        difference {
          torus {.5,.07 rotate <90,0,0>}
          plane {<0,-1,0>,0}
          }
        cylinder {<.5,0,0>, // Straight part of rope on right side of wheel
          <.5,#if (WhiteOut=0) 1 #else 6 #end,0>,.07
          }
        translate <0,.25,0>
        texture {RopeTxt(WhiteOut)}
        }
 
      cylinder {    // Free end of rope on left side of the wheel
        <-.5,.25,0>,<-.5,#if (WhiteOut=0) 7 #else 1 #end,0>,.07
        texture {RopeTxt(WhiteOut)}
        }
 
      union {   // Free end of the rope with the hook with ring attached:
        merge {   // Knot and loop at the free end of the rope:   
          #local Count=0;   // The knot
          #while (Count<5)
            torus {.1,.07 translate <-.5,1.45-.14*Count,0>}
            #local Count=Count+1;
          #end
 
          difference {    // Part of rope loop bent around the hook
            torus {.15,.07}
            box {<-1,-1,0>,<0,1,1> rotate <0,-30,0>}
            box {-1,<0,1,0> rotate <0,30,0>}
            rotate <0,0,90>
            translate <-.5,1.8,0>
            }
 
          cylinder {  // Straight part of rope loop, away from viewer
            <0,0,.15>,<0,-.4,.15>,.07
            rotate <30,0,0> translate <-.5,1.8,0>
            }
          cylinder {  // Straight part of rope loop, towards viewer
            <0,0,-.15>,<0,-.4,-.15>,.07
            rotate <-30,0,0> translate <-.5,1.8,0>
            }
 
          texture {RopeTxt(WhiteOut)}
          }
 
        merge { // Hook with ring at the free end of the rope
          sphere_sweep {b_spline,7  // The hook itself
            <-.5,2.8,0>,.1
            <-.5,2.5,0>,.1
            <-.5,2.3,0>,.1
            <-.2,2  ,0>,.09      
            <-.5,1.7,0>,.08      
            <-.8,2  ,0>,.06
            <-.8,2.3,0>,.04
            }
          torus {.2,.1 rotate <90,0,0> translate <-.5,2.72,0>}  // The ring on the hook
          texture {MetalTxt}
          }
 
        #if (WhiteOut=0)    // Using WhiteOut property to specify the length of the
          translate <0,6,0> // free end of the rope, and hence the knot and hook
        #end
        }
      }
  #end
 
  #macro LengthArrow (Length,NameSymbol)  // Double arrow with symbol for indicating lengths
    #local ArrowHead=difference {
      box {<-1,-1,-.001>,<0,0,.001> rotate <0,0,45> scale <1,3,1>}
      plane {<0,1,0>,-.5}
      }
    merge {
      box {<-.5,-.01,-.001>,<.5,.01,.001>}
      #object {ArrowHead scale <1,-1,1> translate <0,.01,0>}
      box {<-.01,.51,-.01>,<.01,Length-.51,.001>}
      #object {ArrowHead translate <0,Length-.01,0>}
      box {<-.5,Length-.01,-.001>,<.5,Length+.01,.001>}
      #object {NameSymbol
        translate <0,
          Length/2+(min_extent(NameSymbol).y-max_extent(NameSymbol).y)/2
          ,0>
        }
      pigment {color rgb 0}
      no_shadow
      no_reflection
      }
  #end
 
  #macro ForceArrow (Length,NameSymbol)   // Fat arrow with symbol for indicating forces
    merge {
      difference {
        box {<-1,-1,-.001>,<0,0,.001> rotate <0,0,45> scale <1,2,1>}
        plane {<0,1,0>,-.5}
        translate <0,Length,0>
        }
      box {<-.1,0,-.01>,<.1,Length-.5,.01>}
      #object {NameSymbol
        translate <0,
          Length/2+(min_extent(NameSymbol).y-max_extent(NameSymbol).y)/2
          ,0>
        }
      pigment {color rgb 0}
      no_shadow
      no_reflection
      }
  #end
 
  // The scenario:
  box {<.3,2,-1000>,<.7,3,1000> texture {WoodTxt(0)}}   // Wooden beam
 
  merge { // End of rope tied around the wooden beam:
    cylinder {<.77,3,0>,<.77,2,0>,.07}  // Down the far side of the beam
    intersection {  // Around farthest, upper corner on beam
      torus {.07,.07}
      box {<0,-1,-1>,<1,1,0>}
      rotate <90,0,0>
      translate <.7,3,0>
      }
    cylinder {<.3,3.07,0>,<.7,3.07,0>,.07}  // Horizontal part above beam
    intersection {  // Around the nearest, upper corner on beam
      torus {.07,.07}
      box {-1,<0,1,0>}
      rotate <90,0,0>
      translate <.3,3,0>
      }
    cylinder {<.23,3,0>,<.23,2,0>,.07}  // Down the near side of the beam
    difference {    // Around the nearest, lower corner on beam
      torus {.07,.07}
      plane {<0,0,1>,0}
      plane {<0,0,-1>,0 rotate <0,25,0>}
      rotate <90,0,0>
      translate <.3,2,0>
      }
    cylinder {<-.07,0,0>,<-.07,-.7,0>,.07 // From nearest lower corner on
      rotate <0,0,25> translate <.3,2,0>  // the beam down to the knot
      }
    cylinder {<.07,0,0>,<.07,-.7,0>,.07   // From farthest lower corner on
      rotate <0,0,-25> translate <.7,2,0> // the beam down to the knot
      }
 
    #local Count=0; // The knot just underneath the wooden beam
    #while (Count<5)
      torus {.1,.07 translate <.5,1.45-.14*Count,0>}
      #local Count=Count+1;
    #end
 
    texture {RopeTxt(0)}
    }
 
  #object {Tackle(0)}   // Tackle in upper position, at full "color density"
  #object {Tackle(.7) translate <0,-6,0>} // "Whited-out" tackle at lower position
 
  #object {LengthArrow(6,   // Indicating the length "s" the weight travels
    text {ttf "cmmi10.ttf"
      "s",.001,0 translate <.1,0,0>}
    ) translate <1.2,-8.3,0>}
 
  #object {LengthArrow(12,  // Indicating the length "2s" the hook travels
    union {
      text {ttf "cmr10.ttf"
        "2",.001,0 translate <-.95,0,0>}
      text {ttf "cmmi10.ttf"
        "s",.001,0 translate <-.45,0,0>}
        }
  ) translate <-1.4,-3.28,0>}
 
  #object {ForceArrow(4,    // Indicating the lifting force "F" on the weight
    text {ttf "cmmi10.ttf"
      "F",.001,0 translate <-.85,0,0>}
      )
    translate <-1,-8.8,0>
    }
 
  #object {ForceArrow(2,    // Indicating the force "F/2" excerted on the rope end
    union {
      text {ttf "cmmi10.ttf"
        "F",.001,0 translate <.3,.9,0>}
      box {<.2,.70,0>,<1.1,.74,.001>}
      text {ttf "cmr10.ttf"
        "2",.001,0 translate <.4,-.1,0>}
      }
      )
    translate <.3,7,0>
    }
 
  //  background {color rgb 1}  // Provides the white backdrop
 
  camera {              // Camera: Indicates where the scenario is
    up <0,1,0>          // seen from, and where the viewer "looks"
    right <.25,0,0>
    location <-5,5,-30>
    look_at <-.3,.37,0>
    angle 8.4
    }
 
  light_source {<-1000,2500,-2000> color rgb 1} // Illumination

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current20:38, 5 August 2012Thumbnail for version as of 20:38, 5 August 20121,000 × 4,000 (657 KB)Morn (talk | contribs)transparent background
21:37, 4 August 2012Thumbnail for version as of 21:37, 4 August 20121,000 × 4,000 (614 KB)Morn (talk | contribs)redone at higher resolution and with Computer Modern TTF fonts
22:15, 15 April 2005Thumbnail for version as of 22:15, 15 April 2005250 × 1,000 (77 KB)Peo~commonswiki (talk | contribs)Shows the principle, forces and travelling distances in a basic tackle. Rendered using POV-Ray (see heep://www.povray.org/) and the scene description code shown below. This image comes complete with annotations; lettes, numbers and arrows. Because of thi

The following 2 pages use this file:

File usage on other wikis

The following other wikis use this file: