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');
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".

العربية | Asturianu | Български | বাংলা | ইমার ঠার | Brezhoneg | Bosanski | Català | Sinugboanong Binisaya | Česky | Dansk | Deutsch | Ελληνικά | English | Esperanto | Español | Eesti | Euskara | فارسی | Suomi | Français | Galego | עברית | Hrvatski | Magyar | Bahasa Indonesia | Ido | Íslenska | Italiano | 日本語 | ქართული | 한국어 | Kurdî / كوردي | Latina | Lëtzebuergesch | Lietuvių | Bahasa Melayu | Nnapulitano | Nederlands | Norsk (nynorsk) | Norsk (bokmål) | Polski | Português | Română | Русский | Slovenčina | Slovenščina | Shqip | Српски | Svenska | తెలుగు | ไทย | Türkçe | Українська | اردو | Tiếng Việt | Volapük | 中文(简体) | 中文(繁體) | +/-


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)

The following pages link to this file: