DescriptionTriskelion full and partials in circle.svg
A triskelion generated from Archimedean spirals (this shape can quasi-tessellate the plane, leaving only small gaps -- see File:Triskelion-quasi-tessellation.svg), enclosed within a circle. Parts of other triskelions in the pattern are cropped and joined to circular arcs. This is a simplified and recentered version of File:Interlocked triskelions and partial triskelions in circle.svg . It is partially loosely-inspired by a design on page 67 of Celtic Art: The Methods of Construction by George Bain, but the design in the Bain book does not use Archimedean spiral curves and is not enclosed within a circle...
Date
Source
Converted from the following self-authored PostScript vector source code:
%!
/pos{gsave centerx centery translate rotf rotate}def
/archimtriple{
%%%%%%%%%%%%%%%%
% PostScript program to display an Archimedean spiral by approximating
% it with Bezier curves. Can display a triple spiral (three spirals
% rotated by 120 degrees with respect to each other).
%%% Parameters:
% centerx = horizontal coordinate of center of spiral
% centery = vertical coordinate of center of spiral
% rotf = degrees to rotate
/sepwid 110 def % width separating successive turnings of spiral
% (half this if double spiral is selected)
/incrm 30 def % insert a curve point after this number of degrees
% /sweeps % number of 360 degree turnings to show
/triple 1 def % change to 0 to for non-triple inner spiral
%%% Procedures:
/pi 3.1415926535898 def/radians 57.295779513082 def
/sepwid sepwid pi div 2 div def pos
/aspiral{/first 1 def
lower incrm sweeps 360 mul{8{dup}repeat
phase add cos/costh exch def
phase add sin/sinth exch def
costh mul radians div/thcosth exch def
sinth mul radians div/thsinth exch def
thcosth sepwid mul/x exch def
thsinth sepwid mul/y exch def
0 eq phase 90 eq phase 270 eq or and{/slope 999999999 def}{/slope
sinth thcosth add costh thsinth sub div def}ifelse
sinth 0 gt sinth 0 eq costh -1 eq and or{/flag -1 def}{/flag 1
def}ifelse
/A exch def phase 0 eq phase 180 eq or {A 49.29348 lt A 180 gt A
196.273450852 lt and A 360 gt A 368.8301 lt and A 540 gt A
545.9907 lt and A 720 gt A 724.5217 lt and A 900 gt A
903.6281968 lt and or or or or or{/flag flag neg def}if}if
phase 120 eq phase 300 eq or{A 10 lt A 80 gt A 100 lt and
or{/flag flag neg def}if}if
incrm sub 3{dup}repeat phase add cos sepwid mul mul radians div
/prevx exch def phase add sin sepwid mul mul radians div
/prevy exch def
incrm add 3{dup}repeat phase add cos sepwid mul mul radians div
/nextx exch def phase add sin sepwid mul mul radians div
/nexty exch def
/prevdist x prevx sub dup mul y prevy sub dup mul add sqrt pi
div def
/nextdist x nextx sub dup mul y nexty sub dup mul add sqrt pi
div def
/normaliz slope slope mul 1 add sqrt def
0 eq{0 0 moveto/prevbezx phase cos nextdist mul def/prevbezy
phase sin nextdist mul def/first 0 def}{first 1 eq{x y
moveto/first 0 def}{prevbezx prevbezy x 1 flag mul
normaliz div prevdist mul sub y slope flag mul normaliz
div prevdist mul sub x y curveto}ifelse
/prevbezx x 1 flag mul normaliz div nextdist mul add def
/prevbezy y slope flag mul normaliz div nextdist mul add def}ifelse}
for stroke}def
%%% If different sweeps parameter for other spirals, define here:
X grestore
%%%%%%%%%%%%%%%%
}def
306 396 translate
.7 dup scale
180 rotate
1 -1 scale
/lower 0 def
/edge1{/lower 480 def/incrm 15 def /sweeps 1.55 def pos aspiral
grestore/lower 0 def/incrm 30 def}def
/edge2{/lower 420 def/incrm 15 def /sweeps 1.35 def pos aspiral
grestore/lower 0 def/incrm 30 def}def
/X {/sweeps 1.15 def/phase 0 def aspiral
triple 0 ne{/sweeps 1.26 def/phase 120 def aspiral
/sweeps 1.26 def/phase 240 def aspiral} if}def
/centerx -148.186569 def/centery 0 def/rotf 0 def
archimtriple/phase 120 def edge1 /phase 0 def edge2
/X {/sweeps 1.26 def/phase 0 def aspiral
triple 0 ne{/sweeps 1.26 def/phase 120 def aspiral
/sweeps 1.15 def/phase 240 def aspiral} if}def
/centerx 74.093285 def/centery -128.333333 def/rotf 240 def
archimtriple/phase 0 def edge1 /phase 240 def edge2
/X {/sweeps 1.26 def/phase 0 def aspiral
triple 0 ne{/sweeps 1.15 def/phase 120 def aspiral
/sweeps 1.26 def/phase 240 def aspiral} if}def
/centerx 74.093285 def/centery 128.333333 def/rotf 120 def
archimtriple/phase 240 def edge1 /phase 120 def edge2
0 0 242.24 90 150 arc stroke
0 0 242.24 210 270 arc stroke
0 0 242.24 330 390 arc stroke
1 0 0 setrgbcolor
0 0 278.41 0 360 arc closepath stroke
0 setgray/incrm 10 def/lower 430 def/sweeps 1.26 def
/centerx 74.093285 def/centery -385 def/rotf 240 def
/phase 120 def pos aspiral grestore
/centerx 296.373139 def/centery 256.666667 def/rotf 0 def
/phase 120 def pos aspiral grestore
/centerx -370.466424 def/centery 128.333333 def/rotf 120 def
/phase 120 def pos aspiral grestore
showpage
%EOF
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.
Other versions
Captions
Add a one-line explanation of what this file represents