Zap -
Duke of New York
'24 Mar 29
: nip swap drop ; : sq dup * ; : offset >r swap >r + r> r> + ; : norm >r sq r> sq + sqrt ; : theta dup 0 >= if swap atan2 else >r negate r> negate swap atan2 pi + then ; : polar 2dup >r >r norm r> r> theta ; : spoke pi .4 * mod pi .2 * - abs ; : wedge dup >r cos 1.376 * r> sin - * .265 <= ; : gram spoke wedge ; x y -.5 -.5 offset polar pi 2 / - gram 0 0
▶
*
:
nip
swap
drop
;
:
sq
dup
*
;
:
offset
>r
swap
>r
+
r>
r>
+
;
:
norm
>r
sq
r>
sq
+
sqrt
;
:
theta
dup
0
>=
if
swap
atan2
else
>r
negate
r>
negate
swap
atan2
pi
+
then
;
:
polar
2dup
>r
>r
norm
r>
r>
theta
;
:
spoke
pi
.4
*
mod
pi
.2
*
-
abs
;
:
wedge
dup
>r
cos
1.376
*
r>
sin
-
*
.265
<=
;
:
gram spoke wedge
;
x
y
-.5 -.5 offset polar
pi
2
/
-
gram 0 0
Create a derived work
Printer View