File:Gosper curve 3.svg

来自testwiki
跳转到导航 跳转到搜索
原始文件 (SVG文件,尺寸为320 × 320像素,文件大小:24 KB)

本文件来自维基共享资源并可能被其他项目使用。 其文件描述页上的描述显示在下面。

摘要

描述
English: Gosper curve of degree 4.
日期
来源 基于如下对象的个人作品: Gosper curve 3.png  Arbol01
作者
矢量:
其他版本
此图片的光栅版本可用。如果效果更好,那么该栅格图片应当替换本图片。
File:Gosper curve 3.svgFile:Gosper curve 3.png

通常,最好使用好的矢量版本(SVG)。


位图图片
SVG开发
InfoField
 该SVG的源代码为有效代码
 本几何图使用perl创作。

Source

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

许可协议

Public domain 我,本作品著作权人,释出本作品至公有领域。这适用于全世界。
在一些国家这可能不合法;如果是这样的话,那么:
我无条件地授予任何人以任何目的使用本作品的权利,除非这些条件是法律规定所必需的。

说明

添加一行文字以描述该文件所表现的内容

此文件中描述的项目

描繪內容

文件历史

点击某个日期/时间查看对应时刻的文件。

日期/时间缩⁠略⁠图大小用户备注
当前2025年3月22日 (六) 23:132025年3月22日 (六) 23:13版本的缩略图320 × 320​(24 KB)wikimediacommons>Ilzolenderemoving terminal comma that interferes with rendering, adding white background, other changes

以下页面使用本文件: