\ ---
x y position for hole ---
: xh
( --
x )
x .5
- t sin .05
* - ;
: yh
( --
y )
y .5
- t sin .01
* - ;
\ ---
x y position for wings ---
: xw
( -- xw )
xh 11
* ;
: yw
( -- yw )
yh .11
+
t sin 33
/ - 11
* ;
\ --- position to radius ---
: r
( x y -- r )
dup * swap dup * + sqrt ;
\ ---------------------
: wings
( -- w )
1 xw
cos
( 1 cos[xw] )
t 3
* sin *
( 1 cos[xw]*sin[t*3] )
xh
abs .5
+
( 1 cos[xw]*sin[t*3] |xh|+.5 )
* yw
- abs -
( w1 )
1 xh 2
* abs -
( w1 1-|xh*2| )
sqrt *
( w1*sqrt[1-|xh*2|] )
.55
max
( w2 )
11
** 11
*
( w2**11*11 )
;
\ ---------------------
: hole
( -- h ) 1
xh yh r
( 1 r )
3
over / ( 1 r 3/r )
t 3
* + ( 1 r 3/r+t*3 )
sin ( 1 r sin[3/r+t*3] )
swap ( 1 sin[3/r+t*3] r )
** - ( 1-sin[3/r+t*3]**r )
;
\ ---------------------
hole wings
-
wings