File:Tackle principle.png
Original file (1,000 × 4,000 pixels, file size: 657 KB, MIME type: image/png)
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.
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. |
Template:SDC statement has value
This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license. | ||
| ||
This licensing tag was added to this file as part of the GFDL licensing update. |
POV-Ray scene description for this image:
<source lang="povray">
/* ================================================ 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
</source>
date/time | username | resolution | size | edit summary |
---|---|---|---|---|
2012-08-05T20:38:43Z | Morn | 1000×4000 | 673175 | transparent background |
2012-08-04T21:37:45Z | Morn | 1000×4000 | 628778 | redone at higher resolution and with Computer Modern TTF fonts |
2005-04-15T22:15:54Z | Peo | 250×1000 | 79113 | 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 |
File history
Click on a date/time to view the file as it appeared at that time.
Date/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 11:27, 13 June 2013 | 1,000 × 4,000 (657 KB) | Bot egel (talk | contribs) | This image was copied from commons:commons. The original description was: 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 |
You cannot overwrite this file.
File usage
There are no pages that use this file.
Global file usage
The following other wikis use this file:
- Usage on da.scoutwiki.org