Image:Gosper curve 3.svg
From Wikipedia, the free encyclopedia
Gosper_curve_3.svg (320 × 320 pixel, file size: 24 KB, MIME type: image/svg+xml)
This is a file from the Wikimedia Commons. The description on its description page there is shown below. | |
[edit] Summary
Gosper curve of degree 4. Created by me as a vector replacement for .
[edit] Source
The SVG file is produced by the following Perl script, which is based on the Logo implementation at de:Gosper-Kurve.
#!/bin/perl # SVG Gosper curve generator by Blotwell # Released under GFDL BEGIN{ print <<HEREDOC <?xml version="1.0" encoding="ISO-8859-1" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" width="320px" height="320px" viewBox="0 0 6400 6400"> HEREDOC ;} my $x=500, $y=2500, $a=90; printf "<polyline points=\"%i,%i,",$x,$y; $PI=3.1415926535897932384264338; sub p {printf "%i,%i,",$x,$y;} sub fd {my $n=shift; $x+=$n*cos($a*$PI/180); $y-=$n*sin($a*$PI/180); p();} sub tl {$a+=shift;} sub rt {$a-=shift;} my $ln=100; rg(4); sub gl {my $st=-1+shift; if ($st<0) {fd($ln);} else {tl(60); rg($st); rt(60); gl($st); gl($st); rt(120); gl($st); rt(60); rg($st); tl(120); rg($st); tl(60); gl($st);}} sub rg {my $st=-1+shift; if ($st<0) {fd($ln);} else {rg($st); rt(60); gl($st); rt(120); gl($st); tl(60); rg($st); tl(120); rg($st); rg($st); tl(60); gl($st); rt(60);}} END{print '" stroke="black" stroke-width="30" stroke-linejoin="round" fill-opacity="0" />',"\n</svg>\n";}
[edit] Licensing
I, the copyright holder of this work, hereby release it into the public domain. This applies worldwide. In case this is not legally possible: Afrikaans | Alemannisch | Aragonés | العربية | Български | Català | Česky | Cymraeg | Dansk | Deutsch | Ελληνικά | English | Español | Esperanto | Euskara | فارسی | Français | Galego | 한국어 | हिन्दी | Hrvatski | Ido | Bahasa Indonesia | Íslenska | Italiano | עברית | Kurdî / كوردي | Latina | Lietuvių | Magyar | Bahasa Melayu | Nederlands | Norsk (bokmål) | Norsk (nynorsk) | 日本語 | Polski | Português | Ripoarish | Română | Русский | Shqip | Slovenčina | Slovenščina | Српски | Svenska | ไทย | Türkçe | Українська | Tiếng Việt | Walon | 简体中文 | 繁體中文 | 粵語 | +/- |