File:Interlocked triskelions and partial triskelions in circle.svg

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

Original file (SVG file, nominally 600 × 600 pixels, file size: 12 KB)

Captions

Captions

Add a one-line explanation of what this file represents

Summary

[edit]
Description An interlocking configuration of three triskelion shapes (which meet at a central point) and six partial triskelions, contained within a circle. This pattern is generated by means of Archimedean spirals, and is loosely inspired by the central design of the Aberlemno cross stone. This is based on an overall quasi-tessellation of the plane with Archimedean-spiral triskelion shapes (leaving small concave triangular gaps between them) -- see File:Triskelion-quasi-tessellation.svg) -- which is cropped within a circle. The yellow, blue, and red areas along the edge of the circle are cropped triskelions from the original tessellation, but each of the grey areas joins parts of two triskelions from the original tessellation. This is why the pattern in this image requires four positive colors (so that no shapes of the same color are next to each other), while the File:Triskelion-quasi-tessellation.svg pattern requires only three. According to George Bain, the triskelions in the original Aberlemno cross design do not have constant-width arms (as is the case when using Archimedean spirals)... For other variations on the theme of seven three-fold spirals, see File:Seven-sixfold-spirals.svg and File:Seven-sixfold-spirals-stroked.svg .
Date
Source

Converted from the following self-authored PostScript vector source code:

%!
/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
gsave centerx centery translate rotf rotate
/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
.54 dup scale
180 rotate
1 -1 scale
/lower 0 def
/X {/sweeps 1.26 def/phase 0 def aspiral
triple 0 ne{/phase 120 def aspiral
            /phase 240 def aspiral} if}def
/centerx 0 def/centery 0 def/rotf 0 def
archimtriple
/X {/sweeps 1.26 def/phase 0 def aspiral
triple 0 ne{/sweeps 1.26 def/phase 120 def aspiral
            /sweeps 1.3 def/phase 240 def aspiral} if}def
/edge1{/lower 465 def/incrm 15 def/phase 240 def/sweeps 1.45 def gsave
centerx centery translate rotf rotate aspiral/lower 510 def /incrm 15 def
/sweeps 1.56 def/phase 0 def aspiral grestore/incrm 30 def/lower 0 def}def
/centerx 0 def/centery 256.666667 def/rotf 0 def
archimtriple edge1
/centerx -222.279854 def/centery -128.333333 def/rotf 120 def
archimtriple edge1
/centerx 222.279854 def/centery -128.333333 def/rotf 240 def
archimtriple edge1
/X {/sweeps 1.26 def/phase 0 def aspiral
triple 0 ne{/sweeps 1.12 def/phase 120 def aspiral
            /sweeps 1.17 def/phase 240 def aspiral} if}def
/edge2{/lower 445 def/incrm 20 def/sweeps 1.36 def/phase 240 def gsave
centerx centery translate rotf rotate aspiral/lower 410 def/incrm 24/sweeps
1.28 def/phase 120 def def aspiral grestore/incrm 30 def/lower 0 def}def
/centerx 0 def/centery -256.666667 def/rotf 0 def
archimtriple edge2
/centerx -222.279854 def/centery 128.333333 def/rotf 240 def
archimtriple edge2
/centerx 222.279854 def/centery 128.333333 def/rotf 120 def
archimtriple edge2
0 0 341.333333 -7 12 arc stroke
0 0 341.333333 113 132 arc stroke
0 0 341.333333 233 252 arc stroke
0 0 341.333333 -73 -52 arc stroke
0 0 341.333333 47 68 arc stroke
0 0 341.333333 167 188 arc stroke
1 0 0 setrgbcolor
0 0 377.425667 0 360 arc closepath stroke
showpage
%EOF
Author AnonMoos
Permission
(Reusing this file)
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.
Other versions

File history

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

Date/TimeThumbnailDimensionsUserComment
current01:21, 5 September 2022Thumbnail for version as of 01:21, 5 September 2022600 × 600 (12 KB)Smasongarrison (talk | contribs)slimmed down with svgomg // Editing SVG source code using c:User:Rillke/SVGedit.js
22:51, 10 April 2021Thumbnail for version as of 22:51, 10 April 2021600 × 600 (16 KB)AnonMoos (talk | contribs){{Information |Description=An interlocking configuration of three triskelion shapes (which meet at a central point) and six partial triskelions, contained within a circle. This pattern is generated by means of Archimedean spirals, and is loosely inspired by the central design of the Aberlemno cross stone. This is based on an overall quasi-tessellation of the plane with Archimedean-spiral triskelion shapes (leaving small concave triangular gaps between them) -- see [[:File:Triskelion-quasi-t...

Metadata