File:Triskele-hollow-triangle.svg
Summary
| Description |
Triple spiral or spiral triskelion symbol with hollow triangle in center. Inspired by various Celtic decorative motifs, but this version is constructed from mathematical Archimedean spirals.
|
| Date | |
| Source |
Own work -- SVG version of Image:Triskele-hollow-triangle.png . Converted from the following PostScript code: %!
/archimdouble{
%%%%%%%%%%%%%%%%
% PostScript program to display an Archimedean spiral by approximating
% it with Bezier curves. Can display a double spiral (two spirals
% rotated by 180 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 15 def % insert a curve point after this number of degrees
/sweeps 2 def % number of 360 degree turnings to show
/double 1 def % change to 0 to display single spiral
%%% Procedures:
/pi 3.1415926535898 def/radians 57.295779513082 def
/sepwid sepwid pi div 2 div def
gsave centerx centery translate rotf rotate
/aspiral{/prevbezy 0 def 0 0 moveto
0 incrm sweeps 360 mul{7{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
/slope sinth thcosth add costh thsinth sub div def
sinth 0 gt sinth 0 eq costh -1 eq and or{/flag -1 def}{/flag 1
def}ifelse
/A exch def 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
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{/prevbezx phase cos nextdist mul def}{prevbezx prevbezy
x 1 flag mul normaliz div prevdist mul sub y slope flag mul
normaliz div prevdist mul sub
x y curveto
/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
x y moveto x 1 flag mul normaliz div nextdist mul pi mul const mul add y
slope flag mul normaliz div nextdist mul pi mul const mul add lineto
stroke}def
/phase 0 def/const 3 def aspiral
%%% If different sweeps parameter for second spiral, define here:
/sweeps 1.67 def
%%%
double 0 ne{/phase 180 def/const 3.945 def aspiral}if grestore
%%%%%%%%%%%%%%%%
}def
gsave
600 0 translate -.5 .5 scale -3.685 rotate
/centerx 221.5 def/centery 550 def/rotf -39.989 def archimdouble
/centerx 789.833 def/centery 550 def/rotf 80.011 def archimdouble
/centerx 505.667 def/centery 1042.19089 def/rotf 200.011 def archimdouble
grestore .5 setlinewidth
350.167 264.925 moveto
377.085 399.621 lineto
246.976 355.585 lineto
closepath stroke
showpage
%EOF |
| Author | AnonMoos |
Licensing
| 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. |