Image:Polygon spiral.png
From Simple English Wikipedia, the free encyclopedia

No higher resolution available.
Polygon_spiral.png (400 × 350 pixel, file size: 17 KB, MIME type: image/png)
This is a file from the Wikimedia Commons, a repository of free content hosted by the Wikimedia Foundation. The description on its description page there and licensing information is visible below.
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 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');
| date/time | username | edit summary |
|---|---|---|
| 10:02, 10 December 2004 | en:User:Solitude | (assuming by user, {{GFDL}}) |
| 12:17, 9 August 2002 | en:User:Brion VIBBER | (<nowiki>...</nowiki>) |
| 21:30, 8 August 2002 | en:User:Josh Grosse | (Moving from image credits) |
[edit] Historio de la dosiero
Legend: (cur) = this is the current file, (del) = delete this old version, (rev) = revert to this old version.
Click on date to download the file or see the image uploaded on that date.
- (del) (cur) 11:49, 20 July 2002 . . . . 400x350 (17711 bytes)
Links
The following pages link to this file:

