File:Gosper curve 3.svg

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search

Original file(SVG file, nominally 320 × 320 pixels, file size: 24 KB)

Captions

Captions

Add a one-line explanation of what this file represents

Summary

[edit]
Description Gosper curve of degree 4. Created by me as a vector replacement for .
Date 17 March 2007 (original upload date)
Source Own work based on: Gosper curve 3.png
Author
Vector:
SVG development
InfoField
 
The SVG code is valid.
 
This geometry was created with perl.

Source

[edit]

The SVG file is produced by the following Perl script, which is based on the Logo implementation at Gosper-Kurve.

#!/bin/perl
use Math::Trig;
# SVG Gosper curve generator by Blotwell
# Released under GFDL

my $x=500, $y=2500, $a=90;
my $ln=100;

printf <<HEREDOC, $x,$y;
<svg xmlns="http://www.w3.org/2000/svg"
	width="640px" height="640px"
>
<polyline
	stroke="black"
	stroke-width="30"
	stroke-linejoin="round"
	fill-opacity="0"
	transform="scale(0.1)"
	points="%i,%i,
HEREDOC

rg(4);
print <<HEREDOC;
"/>
</svg>
HEREDOC

sub p {printf "%i,%i,",$x,$y;}
sub fd {my $n=shift; $x+=$n*cos(deg2rad($a)); $y-=$n*sin(deg2rad($a)); p();}
sub tl {$a+=shift;}
sub rt {$a-=shift;}

sub gl {
	my $st=-1+shift;
	if ($st<0) {
		fd($ln);
		return
	}

	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);
		return;
	}

	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);
}

Licensing

[edit]
Public domain I, the copyright holder of this work, release this work into the public domain. This applies worldwide.
In some countries this may not be legally possible; if so:
I grant anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law.

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current19:10, 17 March 2007Thumbnail for version as of 19:10, 17 March 2007320 × 320 (24 KB)Blotwell (talk | contribs)Newer version with one more sig. fig. in coördinates.
06:20, 17 March 2007Thumbnail for version as of 06:20, 17 March 2007320 × 320 (19 KB)Blotwell (talk | contribs)Gosper curve of degree 4. Created by me as a vector replacement for Image:Gosper curve 3.png.

The following 2 pages use this file:

File usage on other wikis

The following other wikis use this file: