the output produced by Box To run this example you will need the following file(s): ./curved_arrow.box. If the example requires more than one file, then you should put them into the same directory. You can then launch Box with box -l g ./curved_arrow.box.
// Under a shell type: box -l g curved_arrow.box
// ---
// One arrow and one closed line.
include "g"
include "arrows"
Curve = Point
(Real r, a)@Curve[angle = 8.0*Atan[1]*$.a, $$ = $.r*Vec[angle]]
w = Window[]
a = 0.0
af = 0.64
\ w.Line[(x=8*(1-a)), Curve[(100.0, a)], x
For[(a += 0.005) < af]
arrow_triangle, Curve[(100.0, af+0.02)], line.sharp]
a = 0.0, af = 1.0
\ w.Line[line.smooth,
x=3-Sin[50.0*a], x, Curve[(50.0, a)], x
For[(a += 0.02) < af]
.Close[], color.red]
w.Save["curved_arrow.eps"]