The original description page was here. All following user names refer to en.wikipedia.
This graphic of an approximate logarithmic spiral made up from polygonal subunits was created using the perl interface to the ImageMagick image manipulation software:
#!/usr/bin/perl
use Image::Magick; #the perl interface to the ImageMagic software
use Math::Trig;
# The points of the polygon. Arbitrary.
($x0,$y0) = (0,0);
($x1,$y1) = (10,0);
($x2,$y2) = (20,5);
($x3,$y3) = (5,15);
# length of lower side divided by length of upper side:
$factor = sqrt((($x2-$x3)**2 + ($y2-$y3)**2) / (($x1-$x0)**2 + ($y1-$y0)**2));
# angle between upper side and lower side, in radians:
$angle = atan(($y2-$y3)/($x2-$x3)) - atan(($y1-$y0)/($x1-$x0));
# Create an empty white image:
$image=Image::Magick->new(size=>'400x350');
$image->Read('xc:white');
$polygon_points = "$x0,$y0 $x1,$y1 $x2,$y2 $x3,$y3 $x0,$y0";
# Create two sample polygons
$image->Draw(primitive=>'polygon', points=>$polygon_points, stroke=>red, translate=>"30,30");
$image->Draw(primitive=>'polygon', points=>$polygon_points, scale=>"$factor,$factor", stroke=>red, translate=>"70,30");
# Now place 5 of them side by side, appropriately stretched and turned
$stretch = 1; $turn = 0; $posX = 120; $posY = 250;
for (1..5) {
$image->Draw(primitive=>'polygon', points=>$polygon_points, scale=>"$stretch,$stretch", stroke=>red, rotate=>$turn * 180/pi, translate=>"$posX,$posY");
$posX = $posX + $stretch * ( cos($turn) * ($x3-$x0) - sin($turn) * ($y3-$y0));
$posY = $posY + $stretch * ( sin($turn) * ($x3-$x0) + cos($turn) * ($y3-$y0));
$turn = $turn + $angle;
$stretch = $stretch * $factor;
}
# Add some text
$image->Set(font=>'-*-helvetica-medium-r-*-*-12-*-*-*-*-*-iso8859-*'); #this only works on the X window system
$image->Annotate(text=>"polygonal subunits", x=>30, y=>75, fill=>black);
$image->Annotate(text=>"approximate logarithmic spiral", x=>120, y=>310, fill=>black);
# Write out the image in the png format
$image->Write('polygon_spiral.png');
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.http://www.gnu.org/copyleft/fdl.htmlGFDLGNU Free Documentation Licensetruetrue
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.http://creativecommons.org/licenses/by-sa/3.0/CC BY-SA 3.0Creative Commons Attribution-Share Alike 3.0truetrue
La bildo estas kopiita de wikipedia:en. La originala priskribo estas: This graphic of an approximate logarithmic spiral made up from polygonal subunits was created using the perl interface to the ImageMagick image ma
File usage
The following pages on the English Wikipedia use this file (pages on other projects are not listed):