summaryrefslogtreecommitdiff
path: root/graphics/circuit_macros/examples/squiggle.m4
blob: 671ae2addd00d6bc2bf810b379f61e1b29f80de7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
.PS
# squiggle.m4
gen_init

divert(-1)
dnl Should this macro be in libgen.m4 or would that be just adding clutter?

                               `squiggle(linespec,
                                         amplitude,wavelength,attributes)'
                               `squiggly line (sinusoid), e.g.
                                  squiggle(up_ 1 right_ 2,,,outlined "red")'
define(`squiggle',`rpoint_(ifelse(`$1',,linewid,`$1'))
  m4dist = lin_leng(last line)
  m4cycles = int(m4dist/(ifelse(`$3',,0.25*scale,`$3'))+0.5)
  define(`squiggleampl',`ifelse(`$2',,0.04*scale,`$2')')dnl
  define(`squigglefreq',`(twopi_*m4cycles/m4dist)')dnl
  sinusoid(squiggleampl,squigglefreq,-twopi_/4,0,m4dist,`$4') \
    with .Origin at last line.start
  move to last line.end')
divert(0)dnl

squiggle(up_ 1 right_ 2,,,outlined "red")
squiggle(up 2 right_ 2,0.1,0.15,outlined "red" <-> wid 0.06 ht 0.05)
squiggle(right_ 1,,,thick 2 dotted outlined "blue" )

.PE